一、机器学习是什么

机器学习的英文名称叫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)) - dataSet
14     sqDiffMat = diffMat ** 2
15     sqDistances = sqDiffMat.sum(axis=1)
16     distances = sqDistances ** 0.5
17     sortedDistIndicies = distances.argsort()
18     classCount = {}
19     for i in range(k):
20         voteIlabel = labels[sortedDistIndicies[i]]
21         classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1
22     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

机器学习读书笔记(一)k-近邻算法相关推荐

  1. 01. 机器学习笔记01——K近邻算法 , CV_example

    K近邻算法(K-nearest neighbor,KNN算法) 李航博士<统计学习方法> 最近邻(k-Nearest Neighbors,KNN)算法是一种分类算法 应用场景:字符识别.文 ...

  2. 【机器学习入门】(1) K近邻算法:原理、实例应用(红酒分类预测)附python完整代码及数据集

    各位同学好,今天我向大家介绍一下python机器学习中的K近邻算法.内容有:K近邻算法的原理解析:实战案例--红酒分类预测.红酒数据集.完整代码在文章最下面. 案例简介:有178个红酒样本,每一款红酒 ...

  3. 机器学习7更多关于k近邻算法的思考

    文章目录 一.一些总结 1.缺点1: 2.优化: 3.缺点2: 4.缺点3: 5.缺点4: 二.机器学习流程回顾 一.一些总结 k近邻算法是一个解决分类问题的算法,天然可以解决多分类问题: 不仅如此, ...

  4. 统计学习方法笔记(一)-k近邻算法原理及python实现

    k近邻法 k近邻算法 算法原理 距离度量 距离度量python实现 k近邻算法实现 案例地址 k近邻算法 kkk近邻法(kkk-NN)是一种基本分类和回归方法. 算法原理 输入:训练集 T={(x1, ...

  5. 机器学习7/100天-K近邻算法

    Day7 K近邻算法 github: 100DaysOfMLCode What is K-NN k近邻算法是常用的简单分类算法也可用于回归问题. KNN是一个无参的(不需要对数据分布做任何假设).基于 ...

  6. 机器学习实战第二章K近邻算法照葫芦画瓢实践。

    分别实现了最基本的3个DEMO 1.给你若干个带有标签的二维点作为训练集,给定一系列的二维随机点,看其通过训练集,可以被分为哪一类 2.给你N个人的飞行里程数,玩游戏消耗时间百分比和每周消耗冰激凌的公 ...

  7. 掌握python机器学习-读书笔记8 (抽样回归算法)

    为什么80%的码农都做不了架构师?>>>    12 抽查回归算法 今天来学习如何使用python scikit learn 来进行一些回归算法的使用. 篇幅限制, 不会对具体算法做 ...

  8. 掌握Python 机器学习 读书笔记 9 (流水线 算法保存)

    为什么80%的码农都做不了架构师?>>>    cha14 流水线 在机器学习里可以看到有一些必要的步骤, 这些步骤是可以作为workflow 自动化的. 而且流水线可以对每个fol ...

  9. 【机器学习】sklearn机器学习入门案例——使用k近邻算法进行鸢尾花分类

    1 背景 这个案例恐怕已经被说的很烂了,机器学习方面不同程度的人对该案例还是有着不同的感觉.有的人追求先理解机器学习背后的理论甚至自己推导一遍相关数学公式,再用代码实现:有的人则满足于能够实现相关功能 ...

  10. 笔记:K近邻算法理论与实现

    numpy实现版本: import numpy as np import operator# 准备数据集 X = np.array([[2,2],[1,1.5],[1,1],[4,3],[4,4]]) ...

最新文章

  1. 6个超实用的Sudo命令使用技巧
  2. 基于若依框架的二次开发_浅谈若依框架
  3. 多GPU真的能加速吗?
  4. Worklight学习-第一个Worlight项目
  5. 【clickhouse】Clickhouse 版本号历史
  6. ngx_pagespeed 的魔力
  7. 乌拉、利用python实现tree命令
  8. oracle函数translate,oracle中Translate()函数用法
  9. Dungeon Master(地下城主)
  10. latex 波浪线 ~
  11. websocket默认心跳等待300秒
  12. 只因为给我打了0.1分,重新撸了个记账小程序
  13. 分享一个麻将听牌算法(带癞子)(Lua)
  14. CU4C字符集检测和转换,C++版本
  15. 医学图像分割数据集与制作自己的数据集
  16. Android Studio基础单选按钮RadioButton
  17. 如何用USBCNC四轴泡沫切割机切割锥形锥
  18. 语音处理-傅里叶分析和Z变换
  19. 软件工程:传统软件工程 vs 敏捷软件开发
  20. 大连学计算机的三本学校,2021大连三本大学有哪些 最新院校名单

热门文章

  1. OFBiz + Opentaps 目录管理 六. 产品目录
  2. 射电天文谱线接收机和终端系统
  3. 数据结构与算法笔记(一) 程序性能分析
  4. 问题 L: The 3n + 1 problem
  5. 问题 H: Search Problem (V)
  6. c语言ll和 amp amp 优先级,关于C语言自增自减运算符的灵活使用.pdf
  7. Pytest之基本介绍
  8. Jmeter系列之no-gui模式
  9. Fiddler-004-配置过滤器之-域名过滤
  10. 拉卡拉2020年股东净利润9.31亿 积极布局数字人民币业务