K-近邻算法
【总体】 分类算法:
有目标值,离散型
一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
k:
(本身取值对算法有影响,又不能通过算法训练确定值的变量叫做超参数)
距离:
scikit-learn:
机器学习工具
k近邻的sklearn的实现:
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
.fit(x,y) # 训练数据集的特征值和目标值
.predict(x) # 需要预测的而数据集合的特征值
距离度量的几个方式:
1 欧式距离(Euclidean Distance):
2 曼哈顿距离(Manhattan Distance):
3 切比雪夫距离 (Chebyshev Distance):
4 闵可夫斯基距离(Minkowski Distance):
前四个距离公式小结:前面四个距离公式都是把单位相同看待了,所以计算过程不是很科学
编辑距离(汉明距离):将其中一个变为另外一个所需要作的最小字符替换次数(包含字符的不同,小于,大于)
apple
appl
K值过小:
容易受到异常点的影响 容易过拟合
k值过大:
受到样本均衡的问题 容易欠拟合