机器学习算法
监督学习
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 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)