簡體   English   中英

AttributeError: 'GridSearchCV' 對象在 scikit-learn 0.19.2 上沒有屬性 'cv_results_'

[英]AttributeError: 'GridSearchCV' object has no attribute 'cv_results_' on scikit-learn 0.19.2

我目前使用 Scikit-Learn 0.19.2 版和 Python 3.6.3

出於某種原因,我無法從我的GridSearchCV訪問cv_results_屬性。

這是我正在使用的代碼:

df = pd.read_csv(input_file, sep = ";", header=None)

numpy_array = df.as_matrix()
y=numpy_array[:,1]
y[y=='RR']=1
y[y=='AIRR']=0
print(y)
y=y.astype('int')

vectorizer = TfidfVectorizer(sublinear_tf=True, max_df=0.5, stop_words=stopwords)

X=numpy_array[:,0]
X=vectorizer.fit_transform(X)

param_grid = {"base_estimator__criterion" : ["gini", "entropy"],
              "base_estimator__splitter" :   ["best", "random"],
              "n_estimators": [1, 2]
             }

DTC = DecisionTreeClassifier(random_state = 11, max_features = "auto", class_weight = "balanced",max_depth = None)


# Create and fit an AdaBoosted decision tree
bdt = AdaBoostClassifier(base_estimator = DTC)

grid_search_ABC = GridSearchCV(bdt, param_grid=param_grid, scoring = 'roc_auc', cv=5, refit=True)

pred = grid_search_ABC.fit(X,y)

print(metrics.confusion_matrix(y, pred))

mean=grid_search_ABC.cv_results_['mean_test_score']
std=grid_search_ABC.cv_results_['std_test_score']

我讀到這主要與GridSearchCV可能沒有安裝有關,但我完全可以用它來預測新實例等。

請問有什么指點嗎?

問題可能出在您的數據集上。 這就是為什么這些網站鼓勵您發布可驗證的示例。

我只是嘗試在 iris 數據集上運行您的代碼,效果很好:

from sklearn import datasets
from sklearn.model_selection import GridSearchCV
iris = datasets.load_iris()
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import AdaBoostClassifier

param_grid = {"base_estimator__criterion" : ["gini", "entropy"],
              "base_estimator__splitter" :   ["best", "random"],
              "n_estimators": [1, 2]
             }

DTC = DecisionTreeClassifier(random_state = 11, max_features = "auto", class_weight = "balanced",max_depth = None)
bdt = AdaBoostClassifier(base_estimator = DTC)
grid_search_ABC = GridSearchCV(bdt, param_grid=param_grid, scoring = 'roc_auc', cv=5, refit=True)

pred = grid_search_ABC.fit(iris.data, iris.target>0)
print(grid_search_ABC.cv_results_['mean_test_score'])

它工作得很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM