尚不清楚“GridSearchCV”函数如何分解训练集和测试集。
共有67959条带标志的线路。
默认情况下,“train\u test\u split”功能分为75%的训练和25%的测试。
在培训50969和测试16990行标志。
我在函数“T\u scorer”中打印数组y\u pred的长度,它变为5662。
一路上,我打印出混乱的矩阵。
如果把矩阵中的所有元素加起来,得到16990个。
原来测试集又分为训练集和测试集。
我做错什么了?
我要测试的设定是16990,训练是50969。你知道吗
[[ 763 891]
[1216 2792]]
5662
[[2785 525]
[1578 6440]]
11328
混淆矩阵的值
_scorer = make_scorer(T_scorer)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)
clf = RandomForestClassifier()
grid_searcher = GridSearchCV(clf, parameter_grid, verbose=20, scoring=_scorer)
grid_searcher.fit(X_test, y_test)
clf_best = grid_searcher.best_estimator_
print('Best params = ', clf_best.get_params())
默认情况下,GridSearchCV执行3倍验证,这意味着它将数据分成3等份(1、2、3),并按以下顺序运行:
您不必在这里使用train test split:只需将X\u train、y\u train提供给gridsearchCV并让它工作
您还可以查看doc的“cv”部分:http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html
编辑:以下是评论中的最终代码:
相关问题 更多 >
编程相关推荐