监督学习算法
一、KNN算法学习
一、什么是KNN算法测试
K-Nearest Neighbor,寻找最近K个数据,推测新数据的分类spa
二、KNN算法的原理rest
通用步骤code
一、计算距离(经常使用欧几里得距离或马氏距离)blog
二、升序排列pandas
三、去前K个it
四、加权平均(距离进的权值高一点)io
K的选取
一、K太大:致使分类模糊
二、K过小:受个例影响,波动较大
如何选取K
一、靠经验选取
二、均方根偏差
应用:
预测电影类型
import pandas as pd from sklearn.neighbors import KNeighborsClassifier data = pd.DataFrame({ 'name':['北京赶上西雅图','喜欢你','疯狂动物城','战狼2','力王','敢死队'], 'fight':[3,2,1,101,99,98], 'kiss':[104,100,81,10,5,2], 'type':['Romance','Romance','Romance','Action','Action','Action'], }) # 数据 x = data[["fight","kiss"]] # 目标 y = data["type"] knn = KNeighborsClassifier(n_neighbors=5) #训练数据 knn.fit(x, y) # 测试数据 x_test = pd.DataFrame({'fight':[4,100,20], "kiss":[8,50,30]}) # 预测结果 knn.predict(x_test) # array(['Romance', 'Action', 'Romance'], dtype=object)