机器学习是通过研究数据和统计信息使计算机学习的过程。机器学习是迈向人工智能(AI)的一步。机器学习是一个分析数据并学会预测结果的程序。

数据集

在计算机的思维中,数据集是任何数据的集合。它可以是从数组到完整数据库的任何东西。

数组的示例:

[99,86,87,88,111,86,103,87,94,78,77,85,86]

数据库的示例:

Carname  Color  Age  Speed  AutoPass
BMW red 5 99 Y
Volvo black 7 86 Y
VW gray 8 87 N
VW white 7 88 Y
Ford white 2 111 Y
VW white 17 86 Y
Tesla red 2 103 Y
BMW black 9 87 Y
Volvo gray 4 94 N
Ford white 11 78 N
Toyota gray 12 77 N
VW white 9 85 N
Toyota blue 6 86 Y

通过查看数组,我们可以猜测平均值可能在80到90之间,我们还能够确定最高值和最低值,但我们还能做什么?

通过查看数据库,我们可以看到最受欢迎的颜色是白色,而最老的车辆为17岁,但如果我们能够通过查看其他值来预测车辆是否具有AutoPass呢?

这就是机器学习的用途!分析数据并预测结果!

在机器学习中,通常需要处理非常大的数据集。在本教程中,我们将尽量让您尽可能容易地理解机器学习的不同概念,并使用易于理解的小型数据集。

数据类型

要分析数据,重要的是要知道我们正在处理的数据类型。

我们可以将数据类型分为三个主要类别:

  • 数值
  • 分类
  • 顺序

数值数据是数字,并且可以分为两个数值类别:

  1. 离散数据 - 限制为整数的数字。示例:汽车经过的数量。
  2. 连续数据 - 有无限值的数字。示例:物品的价格或大小。

分类数据是不能相互比较的值。示例:颜色值或任何是/否值。

顺序数据类似于分类数据,但可以相互比较。示例:学校成绩,其中A好于B等等。

通过了解数据源的数据类型,您将能够知道在分析数据时使用哪种技术。

您将在接下来的章节中了解更多有关统计学和数据分析的内容。

机器学习 - 均值、中位数、众数

在观察一组数字时,我们可以学到什么?

在机器学习(以及数学)中,通常有三个值引起我们的兴趣:

  • 均值 - 平均值
  • 中位数 - 中间值
  • 众数 - 出现最频繁的值

示例:我们已经记录了13辆车的速度:

speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]

这些速度的平均值、中间值和最常见的速度值是多少呢?

均值

均值是平均值。

要计算均值,找到所有值的总和,并将总和除以值的数量:

(99+86+87+88+111+86+103+87+94+78+77+85+86) / 13 = 89.77

NumPy模块有一个用于此目的的方法。了解有关NumPy模块的信息,请查看我们的NumPy教程。

示例:使用NumPy的mean()方法找到平均速度:

import numpy

speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]

x = numpy.mean(speed)

print(x)

中位数

中位数是排列所有值后位于中间的值:

77, 78, 85, 86, 86, 86, 87, 87, 88, 94, 99, 103, 111

在找到中位数之前,需要确保对数字进行排序。

NumPy模块有一个用于此目的的方法:

示例:使用NumPy的median()方法找到中间值:

import numpy

speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]

x = numpy.median(speed)

print(x)

如果中间有两个数字,将这些数字的总和除以2。

77, 78, 85, 86, 86, 86, 87, 87, 94, 98, 99, 103

(86 + 87) / 2 = 86.5

示例:使用NumPy模块:

import numpy

speed = [99,86,87,88,86,103,87,94,78,77,85,86]

x = numpy.median(speed)

print(x)

众数

众数是出现最频繁的值:

99, 86, 87, 88, 111, 86, 103, 87, 94, 78, 77, 85, 86 = 86

SciPy模块有一个用于此目的的方法。了解有关SciPy模块的信息,请查看我们的SciPy教程。

示例:使用SciPy的mode()方法找到出现最频繁的数字:

from scipy import stats

speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]

x = stats.mode(speed)

print(x)

最后

为了方便其他设备和平台的小伙伴观看往期文章:公众号搜索Let us Coding,或者扫描下方二维码,关注公众号,即可获取最新文章。

看完如果觉得有帮助,欢迎点赞、收藏关注

Python 机器学习入门:数据集、数据类型和统计学的更多相关文章

  1. python机器学习入门-(1)

    机器学习入门项目 如果你和我一样是一个机器学习小白,这里我将会带你进行一个简单项目带你入门机器学习.开始吧! 1.项目介绍 这个项目是针对鸢尾花进行分类,数据集是含鸢尾花的三个亚属的分类信息,通过机器 ...

  2. Python & 机器学习入门指导

    Getting started with Python & Machine Learning(阅者注:这是一篇关于机器学习的指导入门,作者大致描述了用Python来开始机器学习的优劣,以及如果 ...

  3. Python机器学习入门(1)之导学+无监督学习

    Python Scikit-learn *一组简单有效的工具集 *依赖Python的NumPy,SciPy和matplotlib库 *开源 可复用 sklearn库的安装 DOS窗口中输入 pip i ...

  4. Python机器学习入门

    # NumPy Python科学计算基础包 import numpy as np # 导入numpy库并起别名为npnumpy_array = np.array([[1,3,5],[2,4,6]])p ...

  5. 吴裕雄 python 机器学习——超大规模数据集降维IncrementalPCA模型

    # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...

  6. 04.python语法入门--基本数据类型

    # python是一门解释型的.强类型的.动态语言​​# 一:数字类型# 1.1 整型int:记录人的年龄.等级.号码.个数# age = 18# print(type(age))​# 1.2 浮点数 ...

  7. [Python]-sklearn模块-机器学习Python入门《Python机器学习手册》-02-加载数据:加载数据集

    <Python机器学习手册--从数据预处理到深度学习> 这本书类似于工具书或者字典,对于python具体代码的调用和使用场景写的很清楚,感觉虽然是工具书,但是对照着做一遍应该可以对机器学习 ...

  8. 零起点PYTHON机器学习快速入门 PDF |网盘链接下载|

      点击此处进入下载地址 提取码:2wg3 资料简介: 本书采用独创的黑箱模式,MBA案例教学机制,结合一线实战案例,介绍Sklearn人工智能模块库和常用的机器学习算法.书中配备大量图表说明,没有枯 ...

  9. Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API

    Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API 关键词:Local vector,Labeled point,Local matrix,Distrib ...

  10. Python 入门之数据类型之间的相互转换 以及 在编程中会遇到的数据类型的坑

    Python 入门之数据类型之间的相互转换 以及 在编程中会遇到的数据类型的坑 1.数据类型总结: 可变,不可变,有序,无序 (1)可变的数据类型:list dict set (2)不可变的数据类型: ...

随机推荐

  1. Java服务刚启动时,一小波接口超时排查全过程

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明. 简介 我们组有一个流量较大的Java服务,每次发代码时,服务都会有一小波接口超时,之前简单分析过,发现这些超时的 ...

  2. Angular: 点击一次按钮,增加一个元素

    解决方案 思路 在组件的typesscript文件中,创建一个数组来存储每个按钮的信息 在模板中使用 *ngFor 指令来循环渲染按钮列表 在按钮事件的处理函数中,每次点击按钮时向按钮数组添加一个新的 ...

  3. JavaScript代码片段精选

    今天,我在职坐标的微信公众号里面看到了关于  JavaScript代码片段精选 的 微信软文.在实际开发中,我们经常会使用的JS来实现某些功能.今天,就在此总结一下. 1.浮点数取整 const x ...

  4. 如何将训练好的Python模型给JavaScript使用?

    前言 从前面的Tensorflow环境搭建到目标检测模型迁移学习,已经完成了一个简答的扑克牌检测器,不管是从图片还是视频都能从画面中识别出有扑克的目标,并标识出扑克点数.但是,我想在想让他放在浏览器上 ...

  5. 十 Appium环境搭建(Windows版)

    注:appium安装到C盘,node.js安装到C盘 一.安装node.js 1.到官网下载node.js:https://nodejs.org/en/download/ 2.获取到安装文件后,直接双 ...

  6. nginx配置源IP访问控制

    通过nginx的ngx_http_access_module模块,可实现对客户端的源IP地址进行允许或拒绝访问控制.该模块默认已编译. 允许访问指令 名称 允许访问指令 指令 allow 作用域 ht ...

  7. Prompt Playground 7月开发记录(2): Avalonia 应用开发

    Prompt Playground 7月开发记录(2): Avalonia 应用开发 仅以此文记录开发过程中遇到的问题和个人的解决方案,如若有理解偏差或者更好的解决方案,欢迎指正. 客户端的开发的确不 ...

  8. Jmeter关联之正则表达式提取器

    正则表达式简介 摘自网上的说法,正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种 逻辑公式,就是用事先定义好的一些特定字符 ...

  9. TypeScript中Class基础使用

    TypeScript是一种静态类型的JavaScript超集,它提供了许多增强的功能,其中之一就是对面向对象编程的支持.在TypeScript中,我们可以使用Class来定义类,这使得我们能够更加结构 ...

  10. Row Major

    Smiling & Weeping ----昨天, 别人在我身旁大声说出你的名字, 这对于我, 像从敞开的窗口扔进了一朵玫瑰花. 思路:不客气地说,这是一道令人费解的题目,要求构造一个字符串, ...