拓冰建站拓冰建站
首页 / 资讯中心 / 正文

数据集评估实战:用 NYC 出租车小费数据验证冬季与夏季消费差异(Data-Science-For-Beginners 课程作业解析)

数据集评估实战用 NYC 出租车小费数据验证冬季与夏季消费差异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 第 14 课《数据科学生命周期导论》的课后作业展开完整还原「数据集评估Assessing a Dataset」这一经典任务在数据科学生命周期的 Capturing数据采集阶段如何评估一份 NYC 黄色出租车行程数据data/taxi.csv是否足以回答客户的业务问题——纽约市黄色出租车乘客在冬季还是夏季给司机的小费更多。读完本文你将掌握数据集可行性评估的标准流程、字段级数据剖析方法、补充数据集的选型思路以及向业务方提出澄清问题、收敛问题边界的实战技巧。任务背景从业务问题到数据问题课程作业见 4-Data-Science-Lifecycle/14-Introduction/assignment.md设定了一个典型的数据科学项目开局某客户请求团队协助研究 NYC 出租车乘客的季节性消费习惯核心问题是纽约市黄色出租车乘客在冬季还是夏季给司机的小费更多此时团队正处在数据科学生命周期的Capturing采集阶段。根据第 14 课讲义 4-Data-Science-Lifecycle/14-Introduction/README.md 的定义Capturing 实际上是两个子阶段的合并获取数据与明确项目要解决的问题。生命周期共分为五阶段Capturing采集Processing处理Analysis分析Communication沟通Maintenance维护其中第 14 课重点讲解 Capturing、Processing 与 Maintenance 三个环节而本次作业聚焦于最前端的 Capturing——数据科学家在这个阶段必须先回答「数据是否足以支撑决策」而不是直接进入建模。作业的负责人即读者扮演的角色拿到两样东西一个 Python 笔记本 notebook.ipynb 和一份行程数据 data/taxi.csv。作业要求完成三件事评估这份数据集是否能帮助回答客户的问题探索 NYC Open Data 数据目录找出一个可能对回答问题有帮助的补充数据集写出3 个需要向客户澄清的问题以更好地理解问题本身。数据集解剖taxi.csv 的 18 个字段与样本结构作业提供的 data/taxi.csv 并非完整的城市级海量数据而是一个经过裁剪的教学样本。通过实际读取文件可确认该文件共200 条记录 1 行表头100 条来自 2019 年 1 月冬季代表月100 条来自 2019 年 7 月夏季代表月。这种「冬夏各半」的样本设计本身就是为了对比季节性差异与客户的问题直接对应。全部 18 个字段如下字段名含义说明与问题的相关性VendorID数据提供方/计费系统编号低技术标识tpep_pickup_datetime上车时间如2019-07-15 16:27:53高用于划分冬夏、季节与时段tpep_dropoff_datetime下车时间中可推算行程时长passenger_count乘客人数中人数可能影响支付行为trip_distance行程距离英里中距离与车费正相关RatecodeID费率代码中标准价/机场价等store_and_fwd_flag是否离车后转发记录Y/N低PULocationID/DOLocationID上下车地点编号中可关联区域天气/消费特征payment_type支付方式1信用卡、2现金等高现金支付在数据中往往无小费记录fare_amount基础车费中小费的基数extra附加费如高峰附加低mta_taxMTA 州税低tip_amount小费金额目标变量核心tolls_amount过路费低improvement_surcharge改善附加费固定 0.3低total_amount总金额低小费的包含项congestion_surcharge拥堵附加费2019 样本中冬夏记录分别为 2.5 与 0.0低对样本做初步统计可以发现200 条记录中138 条小费大于 0、62 条小费为 0。这一现象与payment_type字段直接相关——现金支付的行程通常记录不到小费这将是评估数据质量时必须注意的偏差来源。此外注意congestion_surcharge在 2019 年 1 月与 7 月的取值不同说明该数据集跨越了政策调整期评估时需意识到收费结构并非完全同质。核心评估这份数据能回答客户的问题吗数据科学家的职责是客观判断而非直接给结论。围绕「冬季还是夏季小费更多」这一问句可从四个维度逐项评估1. 目标变量是否存在tip_amount字段直接量化了小费金额问题所需的「因变量」具备。这是回答问题的先决条件。2. 季节维度是否可划分tpep_pickup_datetime覆盖 2019 年 1 月冬季与 2019 年 7 月夏季能够支撑「冬季 vs 夏季」的分组对比。但需注意两个月仅代表「两个时点」而非完整的季节分布结论的外推性有限。3. 样本量是否充分200 条记录是教学级样本量可以用于练习 EDA 与统计对比但不足以支撑稳健的业务结论。样本量小意味着置信区间宽、结论易受个别离群值影响——这一点在向客户交付结论时必须声明。4. 数据质量与潜在偏差这是评估中最易被忽略、也最影响结论可靠性的一环payment_type为 2现金的记录中tip_amount几乎为 0若不区分支付方式直接比较冬夏小费均值会被现金记录严重稀释缺失值、极端值如异常大的小费需要结合数据字典中的取值范围核对仅凭两个月样本难以排除「月份特殊性」如 1 月暴雪影响出行结构对结论的干扰。综合评估结论是这份数据具备回答问题的核心字段与季节对比结构可用于开展探索性分析EDA但其样本量与时间覆盖不足以给出严谨的业务级结论需要在后续分析阶段结合补充数据与统计检验进一步验证。这也正是课程将分析工作留到第 15 课 Exploring for answers 的原因——该课作业中继续使用同一份 200 条数据引导学习者思考「哪些字段最可能不需要」「数据中是否已出现季节性小费行为的证据」。动手实践用 notebook 加载并探查数据作业目录中的 notebook.ipynb 已经给出最小可运行的数据加载流程核心代码只有三步# 1. 安装依赖笔记本内以魔术命令执行 !pip install pandas # 2. 导入 pandas 并读取 CSV import pandas as pd path ../../data/taxi.csv # 笔记本位于 4-Data-Science-Lifecycle/14-Introduction/ 下 df pd.read_csv(path) # 3. 打印整个 DataFrame 进行初步目检 print(df)运行后输出[200 rows x 18 columns]与文件实际结构一致。在此基础上建议继续追加以下探查步骤来支撑「数据能否回答问题」的判断# 检查缺失值与基本统计 print(df.info()) print(df.describe()) # 验证冬夏样本数量是否均衡 print(df.groupby(df[tpep_pickup_datetime].str[:7]).size()) # 区分支付方式后对比小费识别现金记录导致的偏差 print(df.groupby(payment_type)[tip_amount].agg([count, mean, sum]))df.info()可快速暴露列级缺失情况groupby按月计数可确认 100/100 的均衡设计按payment_type分组统计小费则能直接验证前述「现金记录小费为 0」的偏差假设。这些操作都不需要额外数据仅凭仓库内的 data/taxi.csv 即可完成是向客户交付评估结论前的标准自检步骤。补充数据集选型弥补当前数据的盲区作业的第二项任务要求探索 NYC Open Data 数据目录找出一个可能有助于回答客户问题的补充数据集。选型时应围绕当前样本的两个明显短板展开天气与季节特征冬季与夏季的出行与小费行为差异可能受天气降雪、气温、降雨驱动。可考虑补充历史天气/气候数据集按日期的温度、降水、降雪记录与tpep_pickup_datetime做日期级关联从而把「季节」从简单的月份分组细化为可解释的天气变量——这也是后续分析阶段可以做 join 的关键补充维度。区域消费特征PULocationID/DOLocationID仅记录了地点编号缺少区域语义。可考虑补充街区级社会经济或商业活动数据如人口密度、餐厅分布、机场客流量以解释「为什么某些区域的小费更高」。选型评估标准可归纳为三条键是否可关联是否有日期或地点编号能与 taxi.csv 连接、时间范围是否覆盖 2019 年 1 月与 7 月、字段是否能解释小费差异而非重复已有信息。注意不要选择与tip_amount直接同源的记录数据集那会造成信息冗余而非补充。向客户提问3 个澄清问题的设计思路作业要求写出 3 个向客户澄清的问题。设计问题的目标不是刁难客户而是把模糊的业务问句收敛为可操作的分析定义。以下是按课程讲义中「消除歧义、明确约束、定义可量化结果」原则设计的示例「冬季」和「夏季」的精确定义是什么是按自然月份如 12–2 月为冬划分还是按气象定义或是按客户的业务周期如假日季划分这直接决定tpep_pickup_datetime的分组逻辑而不同定义可能得出不同结论。「小费更多」的度量口径是什么是绝对小费金额、小费占车费的百分比小费率还是无小费行程的比例口径不同评估指标均值/中位数/占比与分析结论都可能不同——例如现金支付占比高的月份绝对小费均值会被系统性压低。结论将用于什么决策客户是否准备依据结论调整司机激励政策、制定季节性运营策略还是仅作消费者画像参考明确用途才能确定所需的置信水平与数据规模也能帮助判断 200 条样本是否够用、是否需要购买更大规模的数据。这三个问题分别对应课程讲义 Capturing 阶段提出的三个关键点目标是否可量化问题 2、是否存在歧义问题 1、约束与产出预期问题 3。讲义中列出的典型问题清单「这个问题之前是否被解决过发现了什么」「所有相关方是否理解目标」「可用的资源有多少」可作为扩展提问池继续挖掘。权威参考数据字典与用户指南作业明确要求参考 TLC 官方发布的两份文档来理解字段语义行程记录数据字典data dictionary for yellow trip records与行程记录用户指南trip record user guide。这两份材料是核对字段取值范围、单位与历史口径的第一手依据例如RatecodeID的费率代码表、payment_type的枚举含义、extra附加费的历史定义等均可从中查证。在做缺失值处理与异常值剔除之前务必先对照数据字典确认字段语义避免把「合理取值」误判为「脏数据」。评估标准Rubric与自我检查本作业的评分维度如下可作为交付自查清单优秀Exemplary合格Adequate待改进Needs Improvement对数据能否回答客户问题给出有理有据的完整评估识别出支付方式、样本量等关键偏差能给出基本判断但论证不充分仅给出结论缺少字段级与质量层面的分析依据对照该标准一份合格的交付应至少包含字段与问题目标变量的映射说明、样本覆盖月份/数量的客观描述、潜在数据偏差现金无小费记录、样本量限制的识别以及「数据可以支撑 EDA、尚不足以支撑严谨业务结论」的审慎判断。与后续课程的衔接从评估到探索本次作业输出的评估结论并非终点而是下一课的输入第 15 课 Exploring for answers 使用同一份 200 条数据开展 EDA引导学习者继续回答「数据中还有哪些因素影响小费」「哪些列最可能用不上」「数据是否已呈现季节性小费行为的证据」。这种「先评估、后深挖」的课程设计正是真实数据科学项目中 Capturing 与 Analysis 两个阶段衔接方式的缩影——先确认数据值得分析再投入精力去分析。如果你还想进一步对照生命周期的其他实现视角可继续阅读第 14 课讲义 README.md 中关于 TDSP 与 CRISP-DM 两种生命周期模型的对比挑战其中配图 tdsp-lifecycle2.png 与 CRISP-DM.png 展示了不同方法论对阶段划分的异同。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门