python - 评估指标中所有值输出为 1 的问题
问题描述
x_test,x_val,y_test,y_val = train_test_split(x_test,y_test,test_size=0.5)
print(x_train.shape)
#(1413, 3) <----Result
print(x_val.shape)
#(472, 3) <----Result
print(x_test.shape)
#(471, 3) <----Result
我继续使用机器学习进行数据拆分,并得到了上述结果。
from sklearn.tree import DecisionTreeClassifier
dTree = DecisionTreeClassifier(max_depth=2,random_state=0).fit(x_train,y_train)
print("train score : {}".format(dTree.score(x_train, y_train)))
#train score : 1.0 <----Result
print("val score : {}".format(dTree.score(x_val, y_val)))
#val score : 1.0 <----Result
然后我们用决策树分别打印出train和val的得分,结果都是1。
predict_y = dTree.predict(x_test)
from sklearn.metrics import classification_report
print(classification_report(y_test, dTree.predict(x_test)))
print("test score : {}".format(dTree.score(x_test, y_test)))
precision recall f1-score support
A 1.00 1.00 1.00 235
B 1.00 1.00 1.00 236
accuracy 1.00 471
macro avg 1.00 1.00 1.00 471
weighted avg 1.00 1.00 1.00 471
test score : 0.9978768577494692
最后,classification_report 也显示了上述结果。我的某些数据拆分错误吗?或者 1 的值是否意味着所有数据都完全分类?如果我错了,我想听到正确的解决方案。
解决方案
推荐阅读
- c# - Xamarin.Forms 和触发器:在有限的时间内雇用一个动作
- swift - 在范围结束之前被编译器销毁的隐式解包可选变量?
- python - 如何使用 python-swiftclient 在 OpenStack 中创建临时 url?
- amazon-s3 - 具有过期日期的 Cloudfront 签名 URL 在我的应用程序中有效,但在浏览器中无效
- xml - libxml2 是否有可用的 XPath 语法错误描述 (XML_XPATH_EXPR_ERROR)
- graphql - NestJS GraphQL 确保标量类型
- node.js - Express:在静态文件夹上添加中间件
- if-statement - 与 ATR 密切相关的 2 根蜡烛的价格变动
- javascript - 如何使用 selenium 和 python 从网站获取工具提示文本,其中文本来自 javascript
- excel - 隐藏 Excel 工作簿上所有工作表上的空白行