DataPrep实战案例:泰坦尼克号数据分析全流程
DataPrep实战案例:泰坦尼克号数据分析全流程
DataPrep是一款开源的低代码数据准备库,通过几行代码即可完成数据收集、清洗和可视化。本文将以经典的泰坦尼克号数据集为例,展示如何使用DataPrep快速实现数据分析全流程,帮助新手轻松掌握数据预处理与探索性分析技巧。
一、环境准备与数据加载
1.1 安装与导入DataPrep
首先通过Git克隆仓库并安装依赖:
git clone https://gitcode.com/gh_mirrors/da/dataprep
cd dataprep
pip install -r requirements.txt
导入必要的库:
from dataprep.eda import *
import pandas as pd
1.2 加载泰坦尼克号数据集
DataPrep提供内置数据集加载功能,一行代码即可获取数据:
train_df = pd.read_csv('dataprep/datasets/data/titanic.csv')
train_df.head()
二、数据概览:快速了解数据特征
2.1 自动生成数据分布报告
使用plot(df)函数可一键生成数据分布可视化报告,快速识别数据类型、缺失值和异常值: DataPrep数据分布可视化.gif) DataPrep的plot函数自动生成各列数据分布图表,蓝色表示分类变量,灰色表示数值变量
从报告中可直观发现:
- 数据集包含12列,其中
Survived为标签列,其余为特征列 - 数值型特征:
Age、SibSp、Parch、Fare - 分类特征:
Pclass、Sex、Embarked等 - 缺失值情况:
Age(19.9%)、Cabin(77.1%)、Embarked(0.2%)
2.2 数据类型调整
将Survived和Pclass转换为分类类型以获得更准确的分析结果:
for col in ['Survived', 'Pclass']:
train_df[col] = train_df[col].astype("object")
三、缺失值分析:定位数据质量问题
3.1 缺失值分布可视化
使用plot_missing(df)函数生成缺失值分析报告,判断缺失模式: DataPrep缺失值分析.gif) 通过条形图和热力图直观展示各列缺失值分布情况
分析发现:
Cabin缺失率高达77.1%,可能与数据记录不全有关Age缺失呈现随机分布,无明显规律Embarked仅缺失2条记录,影响较小
3.2 缺失值处理策略
根据缺失值相关性分析结果:
- 保留:
Age与生存概率相关,采用中位数填充 - 保留:
Embarked缺失量少,采用众数填充 - 删除:
Cabin缺失过多且与生存相关性低
四、特征筛选:识别关键影响因素
4.1 单特征与生存相关性分析
通过plot(df, x, y)函数逐一分析特征与生存的关系:
for feature in ['Pclass', 'Sex', 'Fare']:
plot(train_df, feature, 'Survived')
关键发现:
- Pclass:头等舱乘客生存率(62.9%)显著高于三等舱(24.2%)
- Sex:女性生存率(74.2%)约为男性(18.9%)的4倍
- Fare:高票价区间生存率明显更高
4.2 特征重要性排序
综合分析后筛选出7个关键特征:
- 核心特征:
Pclass、Sex、Fare - 辅助特征:
Age、SibSp、Parch、Embarked
五、特征工程:构建衍生变量
5.1 相关性分析
使用plot_correlation(df)分析特征间相关性: DataPrep相关性分析.gif) 通过热力图展示特征间Pearson/Spearman相关系数
发现SibSp(兄弟姐妹数)与Parch(父母子女数)中度相关(r=0.41),适合合并为家庭规模特征。
5.2 特征构建
创建家庭规模特征Family:
train_df['Family'] = train_df['SibSp'] + train_df['Parch'] + 1 # +1包含乘客本人
六、总结与下一步建议
6.1 分析成果
通过DataPrep的低代码工具,仅用20行核心代码就完成了:
- 数据质量评估与缺失值处理
- 关键特征识别与筛选
- 特征相关性分析与衍生变量构建
6.2 模型构建建议
预处理后的数据集可直接用于建模:
# 保存清洗后的数据集
train_df.to_csv('titanic_cleaned.csv', index=False)
推荐使用逻辑回归或随机森林模型进行生存预测,特征重要性可参考DataPrep的相关性分析结果。
6.3 DataPrep进阶功能
- 自动化报告:
create_report(df)生成交互式HTML分析报告 - 数据清洗:
clean_df()自动处理异常值和缺失值 - 多数据集对比:
plot_diff(df1, df2)比较训练集与测试集差异
通过DataPrep,数据分析不再需要繁琐的代码编写,让你专注于业务逻辑和洞察提取,轻松完成从原始数据到建模就绪的全流程!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)