建设小辣猫的网站,wordpress微信 缩略图,怎么选择五屏网站建设,郴州新网招聘手机版摘要#xff1a;本篇博客主要讲解了数学建模入门的描述性统计分析#xff0c;包括基本统计量的计算、数据的分布形态、数据可视化和相关性分析。 往期回顾#xff1a;
数学建模入门——建模流程-CSDN博客
数学建模入门——数据预处理#xff08;全#xff09;-CSDN博客 … 摘要本篇博客主要讲解了数学建模入门的描述性统计分析包括基本统计量的计算、数据的分布形态、数据可视化和相关性分析。 往期回顾
数学建模入门——建模流程-CSDN博客
数学建模入门——数据预处理全-CSDN博客 一、基本统计量
基本统计量是描述性统计分析的重要组成部分它们就像数据的 “标签”能快速让我们了解数据的大致特征。 下面以Python展示鸢尾花数据集的基本统计量计算方法
from sklearn.datasets import load_iris
import pandas as pd# 加载鸢尾花数据集
iris load_iris()
data iris.data
target iris.target
feature_names iris.feature_names# 将数据转换为DataFrame
df pd.DataFrame(data, columnsfeature_names)print(df.max())
print(df.min())
print(df.mean())
print(df.median())
print(df.var())
print(df.std())
print(df.skew()) # 偏度
print(df.kurt()) # 峰度
cv df.std() / df.mean()
print(cv) # 变异系数# 计算基本统计量
print(df.describe()) # 也可以用describe()查看基本统计量
二、分布形态
绘制数据集的分布图可以让我们直观的感受到数据分布特点。 import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_irisdata load_iris() # 得到数据特征
iris_target data.target # 得到数据对应的标签
iris_features pd.DataFrame(datadata.data, columnsdata.feature_names) # 利用Pandas转化为DataFrame格式# 合并标签和特征信息
iris_all iris_features.copy()
iris_all[target] iris_target# 在2D情况下不同的特征组合对于不同类别的花的散点分布以及大概的区分能力。
sns.pairplot(datairis_all, diag_kindhist, huetarget)
plt.show()三、数据可视化 数据可视化在描述性统计分析中具有极其重要的地位它可以帮助我们快速理解数据分布通过图表如直方图、箱线图等可以直观地展示数据的集中趋势均值、中位数等、离散程度方差、标准差等以及分布形态正态分布、偏态分布等。揭示变量间关系像散点图可以直观地展示两个变量之间的关系是正相关、负相关还是无明显相关帮助我们快速发现变量之间的潜在联系。发现数据中的模式和趋势时间序列数据通过折线图展示能够清晰地呈现出数据随时间的变化趋势包括上升、下降、周期性波动等帮助我们发现数据背后隐藏的规律。
以鸢尾花数据集为例先导入数据集
import pandas as pd
import seaborn as sns
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt# 加载鸢尾花数据集
iris load_iris()
data iris.data
feature_names iris.feature_names# 将数据转换为DataFrame
df pd.DataFrame(data, columnsfeature_names) 直方图 # 绘制直方图
plt.figure(figsize(12, 8))
for i in range(len(feature_names)):plt.subplot(2, 2, i 1)sns.histplot(df[feature_names[i]], kdeTrue)plt.title(feature_names[i])
plt.tight_layout()
plt.show() 箱线图 # 绘制箱线图
plt.figure(figsize(8, 6))
sns.boxplot(datadf)
plt.title(Iris Dataset Boxplot)
plt.xticks(range(len(feature_names)), feature_names)
plt.show() 散点图矩阵 # 绘制散点图矩阵
sns.pairplot(df)
plt.show() 饼图 # 绘制饼图以sepal length (cm)为例
sepal_length_values df[sepal length (cm)]
value_counts sepal_length_values.value_counts(normalizeTrue) * 100
plt.figure(figsize(6, 6))
plt.pie(value_counts, labelsvalue_counts.index, autopct%1.1f%%)
plt.title(Distribution of Sepal Length)
plt.show() 根据数据集的特点还可以其他图许多数据科学家也会使用R语言来绘制绘制各种形态的可视化图形
桑基图 山脊图 瀑布图 棒棒糖图 气泡图 圆弦图 四、相关性分析
相关系数是反映两个变量之间线性相关程度的指标。常用的有两种相关系数计算方法
皮尔逊相关系数Pearson correlation: 用于衡量两个连续性随机变量间的相关系数斯皮尔曼相关系数Spearman correlation 秩相关系数根据原始数据的等级排序进行求解也称为等级变量之间的皮尔逊相关系数 以上两种系数是两个变量之间变化趋势的方向以及程度取值范围为[-1, 1]。当接近1时表示两者具有强烈的正相关性当接近-1时表示有强烈的的负相关性而值接近0则表示相关性很低。
相关程度极强相关强相关中等程度相关弱相关极弱相关或无相关相关系数绝对值0.8——10.6——0.80.4——0.60.2——0.40——0.2
分别使用皮尔逊和斯皮尔曼绘制鸢尾花数据集特征间的相关性热力图 import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import pandas as pd# 加载鸢尾花数据集
iris load_iris()
data iris.data
feature_names iris.feature_names# 将数据转换为DataFrame
df pd.DataFrame(data, columnsfeature_names)# 基于皮尔逊相关系数绘制热力图
plt.figure(figsize(8, 6))
pearson_corr df.corr(methodpearson)
sns.heatmap(pearson_corr, annotTrue, cmapcoolwarm, fmt.2f)
plt.title(Pearson Correlation Heatmap of Iris Dataset)
plt.show()# 基于斯皮尔曼相关系数绘制热力图
plt.figure(figsize(8, 6))
spearman_corr df.corr(methodspearman)
sns.heatmap(spearman_corr, annotTrue, cmapcoolwarm, fmt.2f)
plt.title(Spearman Correlation Heatmap of Iris Dataset)
plt.show() 本篇博客的描述性统计分析就介绍到这里该专栏会持续更新数学建模的内容需要的可以订阅收藏一下如果本博客对您有所帮助请留下您的赞赞哦 有什么问题可以在评论区留言感谢您的阅读