慕斯4571394
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(k_range,score_train)
plt.xlabel('x')
plt.ylabel('y')
plt.show()
这样应该就行了
qq_星星_77
from sklearn.metrics import accuracy_score
weixin_慕村2175486
我也是,跟你结果一模一样,变高了!!!!???
hoofungson
随机分配合理。
weixin_慕雪2228273
weixin_慕数据4191184
慕桂英3086109
通常来说,数据是会被打散的,就是shuffle,而且划分数据的时候通常也是随机选取的,所以每次结果不一样是正常的。
xiongxiuxin
xiongxiuxin
用训练集去训练模型, 用测试集去验证模型
shalomg
shalomg
小小程序员一枚
其中 K值的范围我取的如下
k_range = list(range(1,90))
团结
慕沐1300483
慕沐1300483
accuracy_score(y_train,y_test_pred)
这样你在比对的时候,y_train是取的训练集中的label,y_test_pred是预测的测试集的label,两个维度不同当然不能比对
寒翎儿
不是的,分离训练集和测试集,分得好的话结果会更好,而且这个是随机分的,再运行会得到不同的结果
October_organ
训练集准确率和测试集准确率没有必然关系。当模型出现过拟合的时候,会有测试准确率下降的情况
慕慕8199608
准确率不同的原因通常有:
1、数据分离后,数据被随机打乱,因此训练数据和预测数据都可能会有变化,肯定会影响模型及其表现;
2、不同的算法,迭代一样的次数,模型更新的权重会有差异,也就是说模型不完全一样
慕粉214606379
同样的模型结构,但经过多次迭代后权重参数可能会有差异(比如如果每次迭代都随机从总体数据集中抽取部分数据),导致最后的模型不完全一样。但通常来说,迭代次数足够多,收敛以后,准确率差异性不会特别大。