十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Data Science for Beginners 实战:用糖尿病数据集完成统计与概率分析作业

Data Science for Beginners 实战:用糖尿病数据集完成统计与概率分析作业 Data Science for Beginners 实战用糖尿病数据集完成统计与概率分析作业【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners本篇技术指南围绕 Data Science for Beginners 课程第 4 课Statistics and Probability的课后作业展开——一项基于 442 名糖尿病患者临床指标的小型统计研究Small Diabetes Study。作业要求学习者使用 pandas、numpy、matplotlib 与 scipy依次完成描述性统计均值/方差、分组箱线图、分布形态分析、相关性与假设检验五类任务。读完本文你将掌握这套数据加载 → 探索 → 可视化 → 统计检验的完整实操链路并能直接复用仓库内数据与可运行的参考实现。作业背景与数据集说明本作业的数据集取自经典的糖尿病数据集442 名患者、11 个变量已随仓库提供位于 data/diabetes.tsv使用 Tab 分隔sep\t。数据含义如下列名含义AGE年龄SEX性别数值编码BMI身体质量指数Body Mass IndexBP平均血压Blood PressureS1 ~ S6六项不同的血液生化测量指标Y一年内疾病进展的定量度量回归目标数据共计 442 条记录且各列均无缺失count 442。SEX 列取值为 1 与 2作业第五部分即按此编码划分男/女两组进行假设检验。环境准备与数据加载推荐在 Jupyter Notebook 环境中完成作业官方作业模板为 1-Introduction/04-stats-and-probability/assignment.ipynb需要依赖pandas、numpy、matplotlib与scipy.stats。仓库中提供了完整可运行的参考实现见 1-Introduction/04-stats-and-probability/solution/assignment.ipynb。加载数据的第一步代码如下import pandas as pd import numpy as np import matplotlib.pyplot as plt df pd.read_csv(../../data/diabetes.tsv, sep\t) df.head()输出前 5 行样本以df.head()为证AGE SEX BMI BP S1 S2 S3 S4 S5 S6 Y 0 59 2 32.1 101.0 157 93.2 38.0 4.0 4.8598 87 151 1 48 1 21.6 87.0 183 103.2 70.0 3.0 3.8918 69 75 2 72 2 30.5 93.0 156 93.6 41.0 4.0 4.6728 85 141 3 24 1 25.3 84.0 198 131.4 40.0 5.0 4.8903 89 206 4 50 1 23.0 101.0 192 125.4 52.0 4.0 4.2905 80 135说明作业模板位于1-Introduction/04-stats-and-probability/目录下因此相对路径为../../data/diabetes.tsv若从仓库根目录读取则等价于data/diabetes.tsv。任务一计算所有变量的均值与方差统计量计算是探索数据的第一步。课程 README 中定义的均值mean期望与方差variance分别刻画数据的中心位置与离散程度。最快捷的方式是直接调用 pandas 的describe()df.describe()它一次性给出 count / mean / std / min / 25% / 50% / 75% / max 全套摘要。参考实现中还提供了两种等价写法# 方式一按行拼接 pd.DataFrame([df.mean(), df.var()], index[Mean, Variance]) # 方式二分别调用 df.mean()参考实现给出的关键结果442 条样本统计量AGESEXBMIBPYMean48.5181.46826.37694.647152.133Variance171.8470.25019.520191.3045943.331从结果可以看出Y疾病进展方差高达约 5943说明患者间进展程度差异极大min25max346SEX 均值约 1.47 也印证了性别两组1 与 2样本量接近、大致均衡。任务二按性别绘制 BMI、BP、Y 的箱线图箱线图box plot用中位数、四分位数Q1/Q3与异常值直观展示分布形态——其原理中位数、四分位距 IQR、离群点阈值[Q1-1.5*IQR, Q31.5*IQR]在课程 README 中有详细图解。参考实现使用 pandas 自带的boxplot按 SEX 分组for col in [BMI, BP, Y]: df.boxplot(columncol, bySEX) plt.show()该循环会依次生成 BMI、BP、Y 三个按性别分组的箱线图横轴为 SEX1 与 SEX2 两组便于直接对比两组的位置与离散程度为任务五的假设检验提供可视化前提。任务三AGE、SEX、BMI、Y 的分布形态判断变量服从何种分布最常用的工具是直方图histogram。参考实现对四个变量逐一绘制for col in [AGE, SEX, BMI, Y]: df[col].hist() plt.show()参考实现给出的结论如下AGE年龄近似正态分布normalSEX性别仅两个取值近似均匀uniformBMI 与 Y分布形态较难判定hard to tell可进一步增大分箱数或结合密度图观察。这里可联系课程内容真实世界数据常被假设为服从某个概率分布的随机变量样本正态分布是最典型的连续分布np.random.normal(mean, std, n)可生成服从该分布的样本识别分布形态是后续选择检验方法如 t 检验要求近似正态的基础。任务四检验各变量与疾病进展 Y 的相关性相关性分析用于回答哪些指标与疾病进展 Y 关系最密切。参考实现直接调用df.corr()得到全变量皮尔逊相关系数矩阵并给出提示相关性矩阵是判断变量间依赖关系最有价值的信息。与 Y 的相关系数排行摘自参考实现输出变量与 Y 的相关系数BMI0.586450S5血糖相关指标0.565883BP0.441482S40.430453S3-0.394789AGE0.187889SEX0.043062参考实现的结论是Y 与 BMI、S5血糖指标的相关性最强这与医学常识一致。此外相关系数总在 [-1, 1] 区间1 表示强正相关、-1 表示强负相关、0 表示无相关详见课程 README 中协方差与相关性的理论推导。为了直观印证参考实现还绘制了 Y 与 BMI、S5、BP 的三联散点图fig, ax plt.subplots(1, 3, figsize(10, 5)) for i, n in enumerate([BMI, S5, BP]): ax[i].scatter(df[Y], df[n]) ax[i].set_title(n) plt.show()散点图与相关系数矩阵互为佐证相关系数越强散点图上的线性趋势越明显。任务五检验男女之间糖尿病进展程度是否存在差异最后一项任务是形式化的假设检验糖尿病的进展程度在男性与女性之间存在差异。课程 README 介绍了基于学生 t 分布Student t-test的检验方法——当两组近似正态分布时用scipy.stats.ttest_ind计算 t 值与 p 值p 值代表两组均值相同这一零假设成立的概率。参考实现代码如下from scipy.stats import ttest_ind tval, pval ttest_ind(df.loc[df[SEX] 1, [Y]], df.loc[df[SEX] 2, [Y]], equal_varFalse) print(fT-value {tval[0]:.2f}\nP-value: {pval[0]})运行结果T-value -0.90 P-value: 0.3674449793083975结论p 值≈0.367远高于常见的显著性阈值 0.05说明没有足够证据支持性别影响糖尿病进展这一假设。通俗地说虽然任务二中男女两组箱线图存在细微差异但该差异更可能来自随机波动而非真实的总体差异。这也呼应了课程中先可视化、再形式化检验的思想观测到差异 ≠ 差异显著。评分标准Rubric作业 assignment.md 给出的自评标准如下优秀Exemplary合格Adequate待改进Needs Improvement所有任务均已完成配有图形展示并给出解释大部分任务完成但缺少对图形或计算结果的解释与结论仅完成均值/方差计算和基础绘图等简单任务未从数据中得出任何结论可以看出从数据中得出结论是本作业评分的核心每个任务不仅要算出数字、画出图还要用统计学语言解释其含义如任务四的BMI/S5 与 Y 强相关、任务五的p 值不支持性别差异。进一步探索与源码导航作业模板含分步任务注释1-Introduction/04-stats-and-probability/assignment.ipynb完整参考实现含全部代码与运行输出1-Introduction/04-stats-and-probability/solution/assignment.ipynb配套数据集data/diabetes.tsv课程正文概率、均值/方差、分位数、正态分布、置信区间、t 检验、协方差与相关性的系统讲解1-Introduction/04-stats-and-probability/README.md课程示例 notebook含 MLB 球员数据的置信区间与 t 检验演示1-Introduction/04-stats-and-probability/notebook.ipynb进阶练习思路仿照课程 README 中的 Challenge把性别差异检验扩展到其他假设例如高 BMI 组与低 BMI 组的 Y 差异或对 AGE、BMI 等变量计算置信区间进一步体会样本统计量 → 总体推断的完整统计推理过程。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表