Blood Donation Registry — Synthetic Donors, Prevalence & Compatibility
收藏资源简介:
该仓库提供了一个合成的血液捐赠操作数据集,适用于高级笔记本和决策分析:从探索性数据分析(EDA)到建模、校准、操作阈值、外展政策和洞察。数据集包括捐赠者快照(含资格/延期、捐赠历史、稀有血型、国家流行率和RBC输血兼容性(ABO/Rh))。
This repository provides a synthetic operational blood donation dataset tailored for advanced Jupyter notebooks and decision analytics, spanning exploratory data analysis (EDA), modeling, calibration, operational thresholds, outreach policies, and actionable insights. The dataset includes donor snapshots covering eligibility/deferral status, donation history, rare blood types, national prevalence rates, and RBC transfusion compatibility (ABO/Rh matching).
数据集概述
数据集基本信息
- 数据集名称:Blood Donation Registry — Synthetic Donors, Prevalence & Compatibility
- 数据集地址:https://github.com/tarekmasryo/blood-donation-registry-dataset
- 数据集性质:合成数据,适用于实验与教学,非临床/医学真实数据。
- 数据规模:主表包含30,000行,27列。
- 许可协议:CC BY 4.0
- 作者:Tarek Masryo
数据集文件构成
-
data/blood_donation_registry_ml_ready.csv- 描述:供体级别快照数据。
- 规模:30,000行 × 27列。
-
data/blood_population_distribution.csv- 描述:国家流行率与人口数据。
- 规模:39行 × 12列。
-
data/blood_compatibility_lookup.csv- 描述:红细胞(RBC)兼容性矩阵。
- 规模:64行 × 4列。
-
data/data_dictionary.csv- 描述:列定义、类型、范围及缺失值规则。
主表(供体快照)结构
身份与地理信息
donor_id(唯一标识)、country_code、region
供体人口统计信息
age、sex(M/F)、bmismoker(0/1)、chronic_condition_flag(0/1)
资格与延期信息
eligibility_status:eligible、temporary_deferral、permanent_deferraleligible_to_donate(0/1)deferral_reason:age_out_of_range、bmi_out_of_range、chronic_condition(符合资格时缺失)
献血行为与历史
preferred_site:hospital、mobile_unit、community_campdonation_count_last_12m、lifetime_donation_countfirst_donation_year、years_since_first_donationlast_donation_date、recency_daysis_regular_donor(0/1)、donor_age_at_first_donation
血液相关信息
blood_type(8种类型)、is_rare_type(0/1)blood_type_country_prevalence(从流行率表连接获得)
工程化评分(可选)
donation_propensity_score(数值型基线信号)
目标列
donated_next_6m(0/1)next_6m_donation_count(0–3)
文件关联关系
blood_donation_registry_ml_ready.csv.country_code与blood_population_distribution.csv.country_code关联。blood_donation_registry_ml_ready.csv.blood_type_country_prevalence派生自匹配的国家流行率行。blood_compatibility_lookup.csv定义了供体与受者血型之间的红细胞兼容性规则。
推荐分析方向
-
献血可能性预测(二元分类)
- 目标变量:
donated_next_6m - 建议评估指标:
ROC-AUC、PR-AUC、F1、校准曲线及基于阈值的成本视图。
- 目标变量:
-
献血频率预测(计数预测)
- 目标变量:
next_6m_donation_count - 建议评估指标:
MAE、RMSE(可选的泊松/有序基线模型)。
- 目标变量:
-
决策策略制定(生产风格)
- 根据容量/预算选择操作阈值。
- 比较假阳性/假阴性成本权衡。
- 验证跨细分群体(国家/地区、稀有血型、资格状态)的校准与稳定性。
-
稀有血型运营分析
- 按国家流行率分析稀有血型(
is_rare_type)的可用性。 - 使用查找矩阵进行兼容性匹配探索。
- 按国家流行率分析稀有血型(
建模注意事项
donated_next_6m派生自next_6m_donation_count→ 仅使用一个目标变量。eligible_to_donate与eligibility_status重叠 → 保留一个以简化基线模型。eligible_to_donate == 0意味着donated_next_6m == 0→ 对于行为建模,考虑在eligible_to_donate == 1的数据上训练。donation_propensity_score是一个强工程化信号 → 可用于排序/校准基线,但在“仅特征”基准测试中应排除。
数据质量预期
donor_id唯一(无重复)。- 无重复行。
recency_days与as_of_date - last_donation_date一致。country_code值与流行率表匹配。- 兼容性查找表涵盖所有8×8供体/受者对。
快速开始示例
python import pandas as pd
donors = pd.read_csv("data/blood_donation_registry_ml_ready.csv") pop = pd.read_csv("data/blood_population_distribution.csv") compat = pd.read_csv("data/blood_compatibility_lookup.csv")
示例:用国家人口数据丰富供体信息
donors_pop = donors.merge(pop[["country_code", "population_size"]], on="country_code", how="left") print(donors.shape, donors_pop.shape)




