分类算法:
K近邻算法,朴素贝叶斯算法,决策树,随机森林
K近邻算法
K近邻算法是:
如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某个类别,则该样本也属于这个类别。他的原理就是求两点之间的距离,看距离谁是最近的,以此来区分我们要预测的这个数据是属于哪个分类。
1.先计算目标点到每一个点的距离(使用欧式距离计算) 整体开根号[(a-b)^2+(c-d)^2+...+(m-n)^2]
2.选择距离目标点最近的K个点
3.K个点中,再看距离目标点最近的大多数点是属于哪一个类别,则目标点就属于该类别。
使用sklearn 实现K近邻算法:
sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto') :
1. n_neighbors : int, 可选(默认=5),k_neighbors 查询默认使用的邻居数。
2. algorithm :可选用于计算最近邻居的算法。
* ball_tree :将会使用BallTree 。
* kd_tree :将使用KDTree 。
* auto :将尝试根据传递给fit方法的值来决定最合适的算法。(不同实现方式影响效率)
from sklearn.neighbors import KNeighborsClassifier
import