机器学习算法

监督学习

  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)

 

      

posted @ 2019-08-11 18:12  xdl_smile  阅读(190)  评论(0编辑  收藏  举报