1 KNN算法
原理:已知样本集中每一个数据与所属分类的对应关系,输入没有标签的新数据后,将新数据与训练集的数据对应特征进行比较,找出“距离”最近的k(通常k<20)数据,选择这k个数据中出现最多的分类作为新数据的分类。
算法描述:
(1) 计算已知类别数据及中的点与当前点的距离;
(2) 按距离递增次序排序
(3) 选取与当前点距离最小的k个点
(4) 确定前K个点所在类别出现的频率
(5) 返回频率最高的类别作为当前类别的预测
距离计算方法有”euclidean”(欧氏距离),“wski”(明科夫斯基距离),”maximum”(切比雪夫距离),”manhattan”(绝对值距离),”canberra”(兰式距离),”minkowski”(马氏距离)等。
优点:精度高、对异常值不敏感、无数据输入假定。
缺点:计算复杂度高,空间复杂度高。
2 决策树
生成决策树的步骤:
(1) 根据给定的训练数据,根据属性选择度量选择每一个维度来划分数据集,找到最关键的维度。
(2) 当某个分支下所有的数据都数据同一分类则终止划分并返回类标签,否则在此分支上重复实施(1)过程。
(3) 依次计算就将类标签构建成了一棵抉择树。
(4) 依靠训练数据构造了决策树之后,我们就可以将它用于实际数据的分类。
典型的算法有