博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习读书笔记(一)k-近邻算法
阅读量:4700 次
发布时间:2019-06-09

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

一、机器学习是什么

机器学习的英文名称叫Machine Learning,简称ML,该领域主要研究的是如何使计算机能够模拟人类的学习行为从而获得新的知识和技能,并且重新组织已学习到的知识和和技能,使之在应用中能够不断完善自身的缺陷与不足。

简单来说,机器学习就是让计算机从大量的数据中学习到相关的规律和逻辑,然后利用学习来的规律来预测以后的未知事物。

 

二、开发机器学习应用程序的步骤

1)收集数据

2)准备输入数据

3)分析输入数据

4)训练算法

5)测试算法

6)使用算法

 

三、python

1、优势

1)语法清洗

2)使用广泛

3)易于操作文本文件

 

2、缺点:

性能问题

 

3、numpy

  • 数组的算数和逻辑运算。
  • 傅立叶变换和用于图形操作的例程。
  • 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。

 

三、k-近邻算法

1、概念

在近邻分类算法中,对于预测的数据,将其与训练样本进行比较,找到最为相似的K个训练样本,并以这K个训练样本中出现最多的标签作为最终的预测标签。
在近邻分类算法中,最主要的是K-近邻算法

 

2、优缺点

优点

精度高、对异常不敏感、无数据输入假定

缺点

计算复杂度高、空间复杂度高

适用范围

数值型和标称型

 

下面是代码示例:

1 from numpy import * 2 import operator 3  4  5 def createDataSet(): 6     group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) 7     labels = ['A', 'A', 'B', 'B'] 8     return group, labels 9 10 11 def classify0(inX, dataSet, labels, k):12     dataSetSize = dataSet.shape[0]13     diffMat = tile(inX, (dataSetSize, 1)) - dataSet14     sqDiffMat = diffMat ** 215     sqDistances = sqDiffMat.sum(axis=1)16     distances = sqDistances ** 0.517     sortedDistIndicies = distances.argsort()18     classCount = {}19     for i in range(k):20         voteIlabel = labels[sortedDistIndicies[i]]21         classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 122     sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)23     return sortedClassCount[0][0]24 25 26 group, labels = createDataSet()27 result = classify0([0, 0], group, labels, 3)28 print(result)

 

转载于:https://www.cnblogs.com/zcjcsl/p/9179410.html

你可能感兴趣的文章
Maven version management with Nexus
查看>>
Android开发中如何解决加载大图片时内存溢出的问题
查看>>
Java-GC 垃圾收集算法
查看>>
HDU 1520 Anniversary party
查看>>
webpack无法热加载(__webpack_hmr 502)
查看>>
StringUtils.hasText()
查看>>
5.jsp EL jstl
查看>>
20165310 实验三-并发程序
查看>>
PHP修改post请求和get请求的优先级
查看>>
数组的反射
查看>>
EDM制作要点
查看>>
Dockerfile详解(一)
查看>>
MongoDB语法与现有关系型数据库SQL语法比较
查看>>
[Leetcode] Search a 2D Matrix
查看>>
jpa
查看>>
潭州课堂25班:Ph201805201 爬虫基础 第十四课 js破解 (课堂笔记)
查看>>
percona顶级项目(针对数据库)
查看>>
MYSQL INNODB PAGE一督
查看>>
转 CSS hack:针对IE6,IE7,firefox显示不同效果
查看>>
IOS中调整UI控件位置和尺寸
查看>>