一直以来,对于机器学习领域,Python都是人们津津乐道的话题,大家知道我们在用python学习机器技术时候,用到的方法内容和一般情况下的是一样的吗?想必,了解过的小伙伴一定是知道有哪些的,不知道的小伙伴也不必担心,如果刚好你正在学习机器技术,那就来看下以下内容,对大家一定有帮助哦~
一、KNN算法
二、算法过程
1.读取数据集
2.处理数据集数据 清洗,采用留出法hold-out拆分数据集:训练集、测试集
三、实现KNN算法类:
1)遍历训练数据集,离差平方和计算各点之间的距离
2)对各点的距离数组进行排序,根据输入的k值取对应的k个点
3)k个点中,统计每个点出现的次数,权重为距离的导数,得到值,该值的索引就是我们计算出的判定类别
四、kNN的python实现
importnumpyasnp #一个最简单的KNN classKNN(): def__init__(self): self.model={}#存储各个类别的训练样本的特征,key为类别标签,value是一个list,元素为样本的特征向量 self.training_sample_num={}#存储训练数据中,各个类别的数量 #训练模型,输入是标签列表,和对应的输入数据列表 deffit(self,X,Y): foriinrange(len(Y)): #将训练数据按照类别分组 ifY[i]inself.model: self.model[Y[i]].append(X[i]) else: self.model[Y[i]]=[X[i]] #各个类别的样本总数 self.training_sample_num[Y[i]]=self.training_sample_num.get(Y[i],0)+1 #预测/判断一个样本的类别。这里模仿sklearn的风格,允许输入单个样本,也允许输入多个样本
好啦,这就是关于分类算法的使用了,如果大家对机器学习非常感兴趣的话,就可以好好学习关于这些内容了哦~