⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计7032字,阅读大概需要3分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
⏰个人网站:https://jerry-jy.co/❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我
人工智能数学与代码实现--概率论与数理统计1
人工智能数学与代码实现–概率论与数理统计1
实验描述
本次实验有两个数据:
salary.csv
包含12名经济学院毕业生样本的起始月薪数据
数据路径为:/root/experiment/data/salary.csv
对该数据进行数据分布特征的统计描述
haw.xlsx
包含100名学生的身高体重数据
数据路径为:/root/experiment/data/haw.xlsx
对该数据进行数据分布特征的统计描述
实验环境
-
Oracle Linux 7.4
-
Python 3
实验目的
-
基于Python实现求数据集中趋势度量
-
基于Python实现求数据离散趋势度量
-
基于Python实现求偏度与峰度的度量
知识点
-
数据集中趋势度量
-
数据离散趋势度量
-
偏度与峰度的度量
实验分析
任务实施过程
一、打开Jupyter,并新建python工程
1.桌面空白处右键,点击Konsole
打开一个终端
2.切换至/experiment/jupyter
目录
cd experiment/jupyter
3.启动Jupyter,root用户下运行需加–allow-root
jupyter notebook --ip=127.0.0.1 --allow-root
4.依次点击右上角的 New,Python 3新建python工程
5.点击Untitled,在弹出框中修改标题名,点击Rename确认
二、数据分布特征的统计描述(一维数组)
某大学生就业指导办公室对一个经济学院的毕业生进行问卷调查,以获取大学毕业生起始月薪的有关信息,表2-1给出了收集到的数据,请根据表2-1进行下列操作
(1)求众数、中位数、上、下四分位数,以及3850所处分位数
(2)求算术平均数、调和平均数、几何平均数
(3)求极差、四分位间距、方差、标准差、变异系数。
1. 数据集中趋势度量
函数常用参数说明:
通用参数:
a:接收array,表示需要求目标函数的数据。
axis:接收int,表示计算的轴向。
众数:scipy.stats.mode(a, axis=0, nan_policy=‘propagate’)
中位数:numpy.median(a, axis=*None, out=None, overwrite_input=False, keepdims=False)
四分位数:scipy.stats.scoreatpercentile(a, per, limit=(), interpolation_method=‘fraction’, axis=None)
per:接收数值型,表示指定提取的百分位数,范围为[0,100]
interpolation_method:接收指定的string,可选择不同的参数来返回不同的值:取值为fraction时,表示若存在多个值,则返回值的平均数;取值为lower时,表示若存在多个值,则返回它们中的最小值;取值为higher时,表示若存在多个值,返回它们中的最大值。
计算元素所处分位数:scipy.stats.percentileofscore(a, score, kind=‘rank’)
score:接收int或float,表示指定a中需求所处分位数的元素
算术平均数:scipy.stats.tmean(a, limits=None, inclusive=(True, True), axis=None)
limits:接收tuple,可指定需要求简单算术平均数的数据范围。
调和平均数:scipy.stats.hmean(a, axis=0, dtype=None)
几何平均数:scipy.stats.gmean(a, axis=0, dtype=None)
# 导入scipy.stats模块
from scipy import stats as sts
import numpy as np
# loadtxt用于从文本加载数据
# delimiter分隔符,默认是空格。
data = np.loadtxt('/root/experiment/data/salary.csv',delimiter=",")
# 求众数
print('众数为:',sts.mode(data,axis=None))
# 求中位数
print(