我正在尝试构建一个决策树,并在网上找到了以下代码。
我的问题是:
-
在决策树中,clf.score(X_train,Y_train) 评估的是什么?输出如以下截图所示,我想知道这个值代表什么?
clf = DecisionTreeClassifier(max_depth=3).fit(X_train,Y_train)print("Training:"+str(clf.score(X_train,Y_train)))print("Test:"+str(clf.score(X_test,Y_test)))pred = clf.predict(X_train)
输出:
-
在下面的代码中,我认为它计算了模型的几个分数。当我设置更高的 max_depth 时,分数会增加。这对我来说很容易理解。然而,我想知道这些数字与前一个截图中训练和测试的值有什么不同?
- 我的目标是预测房价是否超过2万美元。在选择最适合且简单的模型时,我应该考虑哪个分数?
回答:
正如评论中正确指出的,确实是平均训练准确率;通过简单比较你第二个截图中的四个不同分数与第一个截图中的训练分数,你应该已经能够猜到这一点。但在任何情况下,在这里提出此类问题之前,你应该首先查阅相关的文档,这无疑是你在类似情况下的最佳朋友。引用scikit-learn DecisionTreeClassifier
的 score
方法的文档:
score (X, y, sample_weight=None)
返回给定测试数据和标签的平均准确率。