无涯教程-机器学习 - 数据统计

这篇具有很好参考价值的文章主要介绍了无涯教程-机器学习 - 数据统计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在进行机器学习项目时,通常无涯教程会忽略两个最重要的部分,分别是 数学 和 数据 。这是因为知道ML是一种数据驱动的方法,并且ML模型只会产生与提供给它的数据一样好的或坏的输出。

在上一章中,讨论了如何将CSV数据上传到ML项目中,但是最好在上传之前了解数据。可以通过统计和可视化两种方式来理解数据。

在本章中,在遵循以下Python的帮助下将了解带有统计信息的ML数据。

查看数据

第一个秘诀是查看原始数据,查看原始数据很重要,因为无涯教程在查看原始数据后增加为ML项目更好地进行预处理以及处理数据的机会。

以下是通过使用Pima Indians糖尿病数据集上的Pandas DataFrame的head()函数实现的Python脚本,以查看前50行数据-

from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
headernames = [preg, plas, pres, skin, test, mass, pedi, age, class]
data = read_csv(path, names=headernames)
print(data.head(50))
preg plas  pres skin test   mass pedi   age      class
0     6    148  72   35     0    33.6   0.627    50     1
1     1     85  66   29     0    26.6   0.351    31     0
2     8    183  64    0     0    23.3   0.672    32     1
3     1     89  66   23    94    28.1   0.167    21     0
4     0    137  40   35   168    43.1   2.288    33     1
5     5    116  74    0     0    25.6   0.201    30     0
6     3     78  50   32    88    31.0   0.248    26     1
7    10    115   0    0     0    35.3   0.134    29     0
8     2    197  70   45   543    30.5   0.158    53     1
9     8    125  96    0     0     0.0   0.232    54     1
10    4    110  92    0     0    37.6   0.191    30     0
11   10    168  74    0     0    38.0   0.537    34     1
12   10    139  80    0     0    27.1   1.441    57     0
13    1    189  60   23   846    30.1   0.398    59     1
14    5    166  72   19   175    25.8   0.587    51     1
15    7    100   0    0     0    30.0   0.484    32     1
16    0    118  84   47   230    45.8   0.551    31     1
17    7    107  74    0     0    29.6   0.254    31     1
18    1    103  30   38    83    43.3   0.183    33     0
19    1    115  70   30    96    34.6   0.529    32     1
20    3    126  88   41   235    39.3   0.704    27     0
21    8     99  84    0     0    35.4   0.388    50     0
22    7    196  90    0     0    39.8   0.451    41     1
23    9    119  80   35     0    29.0   0.263    29     1
24   11    143  94   33   146    36.6   0.254    51     1
25   10    125  70   26   115    31.1   0.205    41     1
26    7    147  76    0     0    39.4   0.257    43     1 
27    1     97  66   15   140    23.2   0.487    22     0
28   13    145  82   19   110    22.2   0.245    57     0
29    5    117  92    0     0    34.1   0.337    38     0
30    5    109  75   26     0    36.0   0.546    60     0
31    3    158  76   36   245    31.6   0.851    28     1
32    3     88  58   11    54    24.8   0.267    22     0 
33    6     92  92    0     0    19.9   0.188    28     0
34   10    122  78   31     0    27.6   0.512    45     0 
35    4    103  60   33   192    24.0   0.966    33     0
36   11    138  76    0     0    33.2   0.420    35     0
37    9    102  76   37     0    32.9   0.665    46     1
38    2     90  68   42     0    38.2   0.503    27     1
39    4    111  72   47   207    37.1   1.390    56     1
40    3    180  64   25    70    34.0   0.271    26     0
41    7    133  84    0     0    40.2   0.696    37     0
42    7    106  92   18     0    22.7   0.235    48     0
43    9    171 110   24   240    45.4   0.721    54     1 
44    7    159  64    0     0    27.4   0.294    40     0
45    0    180  66   39     0    42.0   1.893    25     1
46    1    146  56    0     0    29.7   0.564    29     0
47    2     71  70   27     0    28.0   0.586    22     0
48    7    103  66   32     0    39.1   0.344    31     1
49    7    105   0    0     0    0.0    0.305    24     0

无涯教程可以从上面的输出中观察到,第一列给出了行号,这对于引用特定观察值非常有用。

检查数据

知道ML项目拥有多少数据(以行和列为单位)始终是一个好习惯,背后的原因是-

  • 假设行和列过多,则运行该算法和训练模型将花费很长时间。

  • 假设行和列的数量太少,那么将没有足够的数据来很好地训练模型。

以下是通过在Pandas Data Frame上打印shape属性实现的Python脚本。

from pandas import read_csv
path = r"C:\iris.csv"
data = read_csv(path)
print(data.shape)
(150, 4)

可以从输出中轻松观察到将要使用的数据集具有150行4列。

获取属性类型

了解每个属性的数据类型是另一种好习惯,背后的原因是,根据要求,有时可能需要将一种数据类型转换为另一种数据类型。例如,可能需要将字符串转换为浮点数或整数,以表示分类或有序值。通过查看原始数据,可以对属性的数据类型有所了解,但是另一种方法是使用Pandas DataFrame的 dtypes 属性。借助 dtypes 属性,无涯教程可以对每种属性数据类型进行分类。可以通过以下Python脚本来理解-

from pandas import read_csv
path = r"C:\iris.csv"
data = read_csv(path)
print(data.dtypes)
sepal_length   float64
sepal_width    float64
petal_length   float64
petal_width    float64
dtype: object

从上面的输出中,可以轻松地获取每个属性的数据类型。

数据统计汇总

已经讨论了Python配方来获取数据的维度,即行和列的数量,但是很多时候需要查看该数据维度的摘要。可以借助Pandas DataFrame的describe()函数来完成,该函数进一步提供每个数据属性的以下8个统计属性-

  • Count
  • Mean
  • Standard Deviation
  • Minimum Value
  • Maximum value
  • 25%
  • Median i.e. 50%
  • 75%
from pandas import read_csv
from pandas import set_option
path = r"C:\pima-indians-diabetes.csv"
names = [preg, plas, pres, skin, test, mass, pedi, age, class]
data = read_csv(path, names=names)
set_option(display.width, 100)
set_option(precision, 2)
print(data.shape)
print(data.describe())
(768, 9)
       preg     plas     pres    skin     test     mass     pedi     age      class
count  768.00   768.00   768.00  768.00   768.00   768.00   768.00   768.00   768.00
mean     3.85   120.89    69.11   20.54    79.80    31.99     0.47    33.24     0.35
std      3.37    31.97    19.36   15.95   115.24     7.88     0.33    11.76     0.48
min      0.00     0.00     0.00    0.00     0.00     0.00     0.08    21.00     0.00
25%      1.00    99.00    62.00    0.00     0.00    27.30     0.24    24.00     0.00
50%      3.00   117.00    72.00   23.00    30.50    32.00     0.37    29.00     0.00
75%      6.00   140.25    80.00   32.00   127.25    36.60     0.63    41.00     1.00
max     17.00   199.00   122.00   99.00   846.00    67.10     2.42    81.00     1.00

从以上输出中,可以观察到Pima印度糖尿病数据集数据的统计摘要以及数据的维度。

类分布统计

在需要知道类值平衡的分类问题中,类分布统计量非常有用,知道类别值的分布很重要,因为如果无涯教程的类别分布高度不平衡,即一个类别比其他类别具有更多的观察值,那么在ML项目的数据准备阶段可能需要特殊处理。借助Pandas DataFrame,可以轻松地在Python中获得类分发。

from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = [preg, plas, pres, skin, test, mass, pedi, age, class]
data = read_csv(path, names=names)
count_class = data.groupby(class).size()
print(count_class)
Class
0 500
1 268
dtype: int64

从上面的输出中,可以清楚地看到,类别0的观察次数几乎是类别1的观察次数的两倍。

属性相关性

两个变量之间的关系称为相关。在统计数据中,最常用的相关系数计算方法是Pearson的相关系数。它可以具有三个值,如下所示:

  • 系数值= 1      - 它表示变量之间的完全正相关。

  • 系数值= -1    - 它表示变量之间完全负的相关性。

  • 系数值= 0     - 它表示变量之间完全没有相关性。

在将数据集用于ML项目之前,最好先检查一下数据集中属性的成对相关性,因为如果拥有高度相关的属性,则某些机器学习算法(例如线性回归和逻辑回归)的性能将很差,在Python中,借助Pandas DataFrame上的 corr()函数,可以轻松地计算数据集属性的相关矩阵。

from pandas import read_csv
from pandas import set_option
path = r"C:\pima-indians-diabetes.csv"
names = [preg, plas, pres, skin, test, mass, pedi, age, class]
data = read_csv(path, names=names)
set_option(display.width, 100)
set_option(precision, 2)
correlations = data.corr(method=pearson)
print(correlations)
preg   plas   pres   skin   test    mass    pedi    age    class
preg   1.00   0.13   0.14  -0.08   -0.07    0.02   -0.03   0.54    0.22
plas   0.13   1.00   0.15   0.06    0.33    0.22    0.14   0.26    0.47
pres   0.14   0.15   1.00   0.21    0.09    0.28    0.04   0.24    0.07
skin  -0.08   0.06   0.21   1.00    0.44    0.39    0.18  -0.11    0.07
test  -0.07   0.33   0.09   0.44    1.00    0.20    0.19  -0.04    0.13
mass   0.02   0.22   0.28   0.39    0.20    1.00    0.14   0.04    0.29
pedi  -0.03   0.14   0.04   0.18    0.19    0.14    1.00   0.03    0.17
age    0.54   0.26   0.24  -0.11   -0.04    0.04    0.03   1.00    0.24
class  0.22   0.47   0.07   0.07    0.13    0.29    0.17   0.24    1.00

上面输出中的矩阵给出了数据集中所有属性对之间的相关性。

属性分布偏差

偏度可以定义为假定为高斯分布,但在一个方向或另一个方向或向左或向右扭曲或偏移的分布。由于以下原因,检查属性的偏斜度是重要的任务之一-

  • 数据中存在偏度需要在数据准备阶段进行校正,以便从模型中获得更高的准确性。

  • 大多数ML算法均假设数据具有高斯分布,即钟形曲线数据的正态分布。

在Python中,无涯教程可以通过在Pandas DataFrame上使用 skew()函数轻松地计算每个属性的偏斜度。

from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = [preg, plas, pres, skin, test, mass, pedi, age, class]
data = read_csv(path, names=names)
print(data.skew())
preg   0.90
plas   0.17
pres  -1.84
skin   0.11
test   2.27
mass  -0.43
pedi   1.92
age    1.13
class  0.64
dtype: float64

从以上输出可以看到正偏或负偏。如果该值更接近于零,则显示较少的偏斜。

机器学习 - 数据统计 - 无涯教程网无涯教程网提供在进行机器学习项目时,通常无涯教程会忽略两个最重要的部分,分别是 数学 和 数据 。...https://www.learnfk.com/python-machine-learning/machine-learning-with-python-understanding-data-with-statistics.html文章来源地址https://www.toymoban.com/news/detail-682976.html

到了这里,关于无涯教程-机器学习 - 数据统计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无涯教程-机器学习 - 数据可视化

    在上一章中,无涯教程讨论了数据对于机器学习算法的重要性,以了解具有统计信息的数据,还有另一种称为可视化的方式来理解数据。 借助数据可视化,可以看到数据的属性保持什么样的关联,这是查看要素是否与输出相对应的最快方法,可以了解具有统计信息的ML数据。

    2024年02月11日
    浏览(35)
  • 【教程】R语言生物群落(生态)数据统计分析与绘图

    查看原文R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自由、免费等特点使其广泛应

    2024年02月06日
    浏览(44)
  • R语言生物群落(生态)数据统计分析与绘图教程

    详情点击链接:R语言生物群落(生态)数据统计分析与绘图教程 前沿  R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。   一: R和Rstudio及入门和作图基础 1 ) R及Rstudio:背景、软件及程序包安

    2024年01月24日
    浏览(46)
  • 【大数据学习篇6】 Spark操作统计分析数据操作

    通过前面的文章安装好环境下面我们就可以开始来操作 使用MySQL的root用户对数据库进行修改以下设置

    2024年02月05日
    浏览(46)
  • Python学习——数据分组统计、分组运算及透视

    分割 split : 按照键值(key)或者分组变量将数据分组 应用 apply : 对每个组应用函数, 通常是累计,转换或过滤函数 组合 combine : 将每一组的结果合并成一个输出组 常用功能 新增加一列 年龄ew 将填充后的年龄补充上去 数据聚合(agg):一般指的是能够从数组产生的标量值的数

    2024年02月10日
    浏览(48)
  • 【大数据学习篇11】广告点击流实时统计

    掌握广告点击流实时统计实现思路 掌握利用Kafka生产用户广告点击流数据 了解数据库设计 掌握如何创建Spark Streaming连接 掌握利用Spark Streaming读取业务数据 掌握利用Spark读取黑名单用户 掌握利用Spark Streaming过滤黑名单用户 掌握利用Spark Streaming统计每个城市不同广告的点击次

    2024年02月08日
    浏览(40)
  • Django教程第5章 | Web开发实战-数据统计图表(echarts、highchart)

    highchart,国外。 echarts,国内。 本项目集成 hightchart和echarts图表库实现数据统计功能。 包括:折线图,柱状图,饼图和数据集图。 echats  Highcharts chart_html.html echarts方案 :通过jQuery自带ajax向服务端发送请求获取折线图、柱状图、饼图数据。 注意 :需要去echats官方下载echar

    2024年01月16日
    浏览(44)
  • 数理统计的深度学习:探索大数据的潜在能量

    随着数据的不断增长,人工智能技术也随之发展迅速。深度学习技术在处理大规模数据方面表现出色,成为人工智能领域的重要技术之一。数理统计学则是研究数据的概率分布和统计规律的学科。在深度学习中,数理统计学的理论和方法有着重要的应用价值。本文将从深度学

    2024年02月20日
    浏览(35)
  • 0基础学习VR全景平台篇 第90篇:智慧眼-数据统计

    【 数据统计 】是按不同条件去统计整个智慧眼项目中的热点,共包含四大块,分别是数据统计、分类热点、待审核、回收站,下面我们来逐一进行介绍。 1、数据统计 ① 可以按所属分类、场景分组、所属场景、热点类型以及输入热点名去筛选对应的热点; ② 支持数据导出

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包