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
最后,分类报告也显示了上述结果。我的一些数据拆分错误吗?或者1的值是否意味着所有数据都完全分类?如果我错了,我希望听到正确的解决方案。
暂无答案!
目前还没有任何答案,快来回答吧!