Python中的统计思维
统计学是学习机器学习和人工智能的基础。由于 Python 是这些技术的首选语言,我们将了解如何编写包含统计分析的 Python 程序。在本文中,我们将了解如何使用各种 Python 模块创建图形和图表。这些图表有助于我们快速分析数据并以图形方式得出见解和结论。
数据准备
我们采用包含各种种子数据的数据集。此数据集可在 kaggle 上获得,链接显示在下面的程序中。它有八列,将用于创建各种类型的图表以比较不同种子的特征。下面的程序从本地环境加载数据集并显示样本行。
示例
import pandas as pd import warnings warnings.filterwarnings("ignore") datainput = pd.read_csv('E:\seeds.csv') #https://www.kaggle.com/jmcaro/wheat-seedsuci print(datainput)
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
运行以上代码将得到以下结果:
Area Perimeter Compactness ... Asymmetry.Coeff Kernel.Groove Type 0 15.26 14.84 0.8710 ... 2.221 5.220 1 1 14.88 14.57 0.8811 ... 1.018 4.956 1 2 14.29 14.09 0.9050 ... 2.699 4.825 1 3 13.84 13.94 0.8955 ... 2.259 4.805 1 4 16.14 14.99 0.9034 ... 1.355 5.175 1 .. ... ... ... ... ... ... ... 194 12.19 13.20 0.8783 ... 3.631 4.870 3 195 11.23 12.88 0.8511 ... 4.325 5.003 3 196 13.20 13.66 0.8883 ... 8.315 5.056 3 197 11.84 13.21 0.8521 ... 3.598 5.044 3 198 12.30 13.34 0.8684 ... 5.637 5.063 3 [199 rows x 8 columns]
创建直方图
要创建直方图,我们从 csv 文件中删除标题行并将其作为 numpy 数组读取。然后我们使用 genfromtxt 模块读取文件。内核长度字段位于数组中的列索引 3。最后,我们使用 matplotlib 使用 numpy 创建的数据集绘制直方图,并应用所需的标签。
示例
import matplotlib.pyplot as plot import numpy as np from numpy import genfromtxt seed_data = genfromtxt('E:\seeds.csv', delimiter=',') Kernel_Length = seed_data[:, [3]] x = len(Kernel_Length) y = np.sqrt(x) y = int(y) z = plot.hist(Kernel_Length, bins=y, color='#FF4040') z = plot.xlabel('Kernel_Length') z = plot.ylabel('values') plot.show()
输出
运行以上代码将得到以下结果:
经验累积分布函数
此图表显示了数据集上分布的内核沟槽大小的图。它按从小到大的值排列,并显示为分布。
示例
import matplotlib.pyplot as plot import numpy as np from numpy import genfromtxt seed_data = genfromtxt('E:\seeds.csv', delimiter=',') Kernel_groove = seed_data[:, 6] def ECDF(seed_data):#Empirical cumulative distribution functions i = len(seed_data) m = np.sort(seed_data) n = np.arange(1, i + 1) / i return m, n m, n = ECDF(Kernel_groove) plot.plot(m, n, marker='.', linestyle='none') plot.xlabel('Kernel_Groove') plot.ylabel('Empirical cumulative distribution functions') plot.show()
输出
运行以上代码将得到以下结果:
蜜蜂群图
蜜蜂群图通过视觉上对每个单独的数据点进行聚类来显示一组数据点的尺寸。我们使用 seaborn 库来创建此图形。我们使用数据集中的 Type 列将类似类型的种子聚类在一起。
示例
import pandas as pd import matplotlib.pyplot as plot import seaborn as sns datainput = pd.read_csv('E:\seeds.csv') sns.swarmplot(x='Type', y='Asymmetry.Coeff',data=datainput, color='#458B00')#bee swarm plot plot.xlabel('Type') plot.ylabel('Asymmetry_Coeff') plot.show()
输出
运行以上代码将得到以下结果:
广告