版权声明:本文属于博主原创作品,转载请标明出处。
最近几天再次重温了一下KNN算法,感觉这是比较简单的机器学习算法了,上一篇博客主要介绍了一些KNN的理论,下面就结合实例来帮助理解,这个例子来源于《机器学习实战》这本书,写出来的原因主要就是给自己梳理一下思路。实战主要分为数据处理,测试算法,使用算法。由于K-NN的特点,没有显式的训练过程,所以没有训练阶段。本文涉及的知识点有:从文本文件中解析数据,归一化数据,knn算法。这个例子虽然简单,但是是一个完整的利用算法来处理实际问题的例子。
1 数据处理
1.1数据转换
因为我们使用的数据来源于.txt文件或者.csv文件,而算法的计算一般采用矩阵的形式,所以,我们需要将我们的数据转换为算法需要的数据,所以第一步,我们就是要进行数据转换,我们主要应用python。这里我们定义一个函数file2matrix()来进行数据转换,可以看一眼我们这个例子当中数据长啥样,这个数据是某位女生在约了无数小哥哥之后,总结出她是否喜欢这个小哥哥的条件(也就是最后分类的特征值啦):第一列表示“每年获得的飞行常客里程数”,“看视频玩儿游戏消耗时间的百分比”,“每周消耗的冰淇淋公升数”,最后标签时是:1:一点都不喜欢,2:还行吧, 3 想把他推到