机器学习 01:K-邻近算法
k-近邻算法概述
实例:约会网站优化
第一步:导入数据
用python从文本文件(datingTestSet2.txt)中解析数据
kNN.py文件
from numpy import *
import operator
def createDataSet():
group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels = ['A','A','B','B']
return group,labels
第二步:分析数据
使用Matplotlib创建散点图
第三步:准备数据,归一化数值
- 当有几个因素同时影响结果时,由于他们各自的特征值不一样,则对计算结果的影响也不一样。(比如有两个因素:玩游戏所消耗的时间百分比、飞行里程数,很明显玩游戏所消耗的时间百分比只能取0到100,而飞行里程数可能几万几千很大,在计算距离时,很明显飞行里程数对计算结果的影响要大)。
- 如果这几个因素同等重要,在计算的时候就要将数值归一化处理。
- 将数值的取值范围处理为0到1或者-1到1之间,公式如下:(max和min分别是数据集中最大特征值和最小特征值)