博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习算法
阅读量:5349 次
发布时间:2019-06-15

本文共 905 字,大约阅读时间需要 3 分钟。

监督学习

  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)

 

      

转载于:https://www.cnblogs.com/xdl-smile/p/11335899.html

你可能感兴趣的文章
Spring Bean InitializingBean和DisposableBean实例
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
Java基础之字符串匹配大全
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
[工具] Sublime Text 使用指南
查看>>
Web服务器的原理
查看>>
常用的107条Javascript
查看>>
#10015 灯泡(无向图连通性+二分)
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
HAL层三类函数及其作用
查看>>
Odoo 去掉 恼人的 "上午"和"下午"
查看>>