上QQ阅读APP看书,第一时间看更新
3.3.4 使用模型对新样本的分类进行预测
现在我们可以使用刚刚建好的模型对新的样本分类进行预测了,不过在这之前,可以先用测试数据集对模型进行打分,这就是我们创建测试数据集的目的。测试数据集并不参与建模,但是我们可以用模型对测试数据集进行分类,然后和测试数据集中的样本实际分类进行对比,看吻合度有多高。吻合度越高,模型的得分越高,说明模型的预测越准确,满分是1.0。
下面开始评分,在Jupyter Notebook中输入代码如下:
print('\n\n\n') print('代码运行结果:') print('==============================\n') #打印模型的得分 print('测试数据集得分:{:.2f}'.format(knn.score(X_test, y_test))) print('\n==============================') print('\n\n\n')
运行代码,得到评分如图3-21所示。
图3-21 模型在测试数据集中的得分
【结果分析】我们看到,这个模型在预测测试数据集的样本分类上得分并不高,只有0.76,也就是说,模型对于新的样本数据做出正确分类预测的概率是76%。这个结果确实差强人意,不过我们只是用来演示K最近邻算法,所以可以先不用太纠结分数的问题。
下面假设我们得到了一瓶新的酒,它的特征变量值经测定如表3-1所列。
表3-1 对新酒测定的特征变量
现在我们用建好的模型对新酒做出分类预测,在Jupyter Notebook中输入代码如下:
运行代码,得到结果如图3-22所示。
图3-22 模型对于新酒数据进行的分类判断
【结果分析】模型把新酒的分类预测为class_2,虽然准确率只有76%,但对于我们的第一个机器学习的实战项目来说,还是相当不错的。