【发布时间】:2020-08-31 02:55:26
【问题描述】:
变量 grid.best_estimator_ 包含从 GridSearchCV 找到的决策树模型
for subset in range(len(smol_X_train)):
temp_tree = grid.best_estimator_.fit(smol_X_train[subset], smol_y_train[subset])
pred = temp_tree.predict(X_test)
accuracy = accuracy_score(y_test, pred)
print(accuracy)
输出-
0.827
0.7025
0.782
0.7205
..
..
0.8365
0.8395
有一个列表-
tree_list = []
for subset in range(len(smol_X_train)):
temp_tree = grid.best_estimator_.fit(smol_X_train[subset], smol_y_train[subset])
tree_list.append(temp_tree)
for one_tree in tree_list:
pred = one_tree.predict(X_test)
accuracy = accuracy_score(y_test, pred)
print(accuracy)
输出-
0.8395
0.8395
0.8395
0.8395
..
..
0.8395
0.8395
列表中的模型返回相同的分数(最后一个模型的分数)。
- 为什么这里的输出不同?存储在列表中的模型不是都适合不同的子集,因此也应该给出不同的预测吗?
- 模型(除了最后一个)的fitness在被放入列表时会丢失吗?
【问题讨论】:
标签: python scikit-learn decision-tree