【发布时间】:2021-06-24 13:25:45
【问题描述】:
所以我有我使用 sklearn train_test_split 获得的训练集,我现在想使用 GridSearcCV 创建 10 个拆分,并找到从 2 到 10 的每个 d 值的 auc 分数。然后我想找到给出的 d 值最佳auc分数
这是我的尝试,但对于预测功能,我有比所需更多的功能
min_samples_list = list(range(2, 10))
tree_para = [{'min_samples_leaf': min_samples_list}]
cv = KFold(n_splits=10)
decisionTreeClassifier = DecisionTreeClassifier(min_samples_leaf=k,random_state=0)
clf = GridSearchCV(decisionTreeClassifier, tree_para, cv=10)
fold_accuracy = []
for train_index, valid_index in cv.split(X_train):
train_x,test_x = X_train[train_index],X_train[valid_index]
train_y,test_y= y_train[train_index], y_train[valid_index]
model = clf.fit(train_x,train_y)
predicted_probs = model.predict([train_y])
fold_accuracy.append(sklearn.metrics.accuracy_score(predicted_probs, test_y))
best_parameters = clf.best_params_
print(best_parameters)
print("Accuracy per fold: ", fold_accuracy, "\n")
print("Average accuracy: ", sum(fold_accuracy)/len(fold_accuracy))
【问题讨论】:
标签: python scikit-learn grid-search