Python数据分析-----数据分类

1、常见的分类算法主要有:

(1)KNN算法

(2)贝叶斯方法

(3)决策树

(4)人工神经网络

(5)支持向量机(SVM)

2、KNN算法

(1)KNN应用场景:

比方说样本中有很多零食、很多电器、很多服装,给一个未知样本,把样本归于哪一类?就可以用KNN算法。分别计算未知样本和已知的每个样本之间距离,选择前K个距离最近的样本,把该未知样本归到这K个样本所在类别较多的类当中。

(2)KNN算法实现步骤

①计算已知类别数据集中的点与未知样本之间的距离。

②按照距离递增次序排序

③选取前k个点(即距离最小的k个点)

④确定前k个点所在类别的出现频率

⑤返回前k个点出现频率最高的类别作为未知样本的预测分类。

import numpy as np
import operator as op
def kNN(k,datasets,labels,x):
    datasize=datasets.shape[0]
    diffMat=(tile(x,(datasize,1))-datasets)**2
    distance=(diffMat.sum(axis=1))**0.5
    sort_distance=argsort(distance)
    dic_k={}
    for i in range(k):
        dic_key=labels[sort_distance[i]]]
        dic_k[dic_key]=dic_k.get(dic_key,0)+1
    dic_count=sorted(dic_k.items(),key=operator.itemgetter(1),reverse=True)
    return dic_count[0][0]
原文地址:https://www.cnblogs.com/Lee-yl/p/8933261.html