Python 机器学习入门:数据集、数据类型和统计学

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

数据集

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

数组的示例:

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

数据库的示例:

text 复制代码
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()方法找到平均速度:

python 复制代码
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()方法找到中间值:

python 复制代码
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模块:

python 复制代码
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()方法找到出现最频繁的数字:

python 复制代码
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,或者扫描下方二维码,关注公众号,即可获取最新文章。

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

相关推荐
吴佳浩1 小时前
LangChain 深入
人工智能·python·langchain
网安-轩逸4 小时前
回归测试原则:确保软件质量的基石
自动化测试·软件测试·python
X***C8624 小时前
SpringBoot:几种常用的接口日期格式化方法
java·spring boot·后端
Mr_Xuhhh4 小时前
YAML相关
开发语言·python
i***t9194 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
咖啡の猫4 小时前
Python中的变量与数据类型
开发语言·python
汤姆yu4 小时前
基于springboot的电子政务服务管理系统
开发语言·python
o***74175 小时前
基于SpringBoot的DeepSeek-demo 深度求索-demo 支持流式输出、历史记录
spring boot·后端·lua
9***J6285 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
S***q1925 小时前
Rust在系统工具中的内存安全给代码上了三道保险锁。但正是这种“编译期的严苛”,换来了运行时的安心。比如这段代码:
开发语言·后端·rust