监督学习
1、KNN算法
1、什么是KNN算法
K-Nearest Neighbor,寻找最近K个数据,推测新数据的分类
2、KNN算法的原理
通用步骤
1、计算距离(常用欧几里得距离或马氏距离)
2、升序排列
3、去前K个
4、加权平均(距离进的权值高一点)
K的选取
1、K太大:导致分类模糊
2、K太小:受个例影响,波动较大
如何选取K
1、靠经验选取
2、均方根误差
应用:
预测电影类型
import pandas as pdfrom sklearn.neighbors import KNeighborsClassifierdata = 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)