做地区招聘网站,html素材免费下载,医院营销型网站建设,内账免费的财务软件文章目录 Overview 概述Goal 目标Evaluation 评估标准 Dataset Description 数据集说明Dataset Source 数据集来源Dataset Fields 数据集字段 Data Analysis and Visualization 数据分析与可视化Correlation 相关性Hierarchial Clustering 分层聚类Adversarial Validation 对抗… 文章目录 Overview 概述Goal 目标Evaluation 评估标准 Dataset Description 数据集说明Dataset Source 数据集来源Dataset Fields 数据集字段 Data Analysis and Visualization 数据分析与可视化Correlation 相关性Hierarchial Clustering 分层聚类Adversarial Validation 对抗验证 Target 目标Model 模型Vote 投票 Score Models 模型评分 Overview 概述 ML Olympiad - Predicting Earthquake Damage是一个由Kaggle和DrivenData合作举办的比赛旨在通过机器学习算法来预测尼泊尔地震后房屋的损坏程度。这个比赛提供了一个数据集其中包含了尼泊尔地震期间房屋的各种特征信息以及每个房屋的损坏程度标签。 参赛者需要利用提供的数据集构建一个模型通过分析房屋的特征信息来预测房屋的损坏程度。挑战在于需要处理大量的结构化数据并建立一个高效的预测模型。参赛者可以使用各种机器学习算法、特征工程技巧和模型调优方法来提高他们的预测准确性。
Goal 目标 该比赛的目标是帮助相关组织和机构更好地了解地震对房屋造成的破坏程度从而提前做好灾害应对和救援准备。通过参与这个比赛参赛者不仅可以提升他们的机器学习建模能力还可以为社会做出积极的贡献。
Evaluation 评估标准 macro F score也称为macro-averaged F1 score是用于评估多类分类模型性能的指标。它代表了所有类别的平均F1分数将每个类别视为相等而不考虑其大小或重要性。 Dataset Description 数据集说明
Dataset Source 数据集来源 本次比赛的合成数据是根据 Richter’s PredictorModeling Earthquake Damage 创建的包含2015年廓尔喀地震建筑位置和施工细节的数据集。这些数据是通过Kathmandu生活实验室和尼泊尔国家计划委员会秘书处下属的中央统计局的调查收集的。这项调查是有史以来收集到的最大灾后数据集之一包含有关地震影响、家庭状况和社会经济人口统计数据的宝贵信息。文件包括 train.csv训练数据集。该数据集包含了4000行和 36 列。 test.csv测试数据集。与训练数据集类似该数据集包括 1000 行和 35 列。 sampleSubmission.csv 示例提交文件。该文件是由最后生成的实际预测结果导出的表格。 Dataset Fields 数据集字段 此处以train.csv为例描述数据集中的字段及其含义
字段含义building_id建筑物IDcount_floors_pre_eq地震前楼层数age建筑物年龄area_percentage地块占比height_percentage高度占比land_surface_condition土地表面条件foundation_type基础类型roof_type屋顶类型ground_floor_type底层类型other_floor_type其他楼层类型position位置plan_configuration平面配置has_superstructure_adobe_mud是否有土坯结构has_superstructure_mud_mortar_stone是否有泥砂砂浆石结构has_superstructure_stone_flag是否有石质结构标志has_superstructure_cement_mortar_stone是否有水泥砂砂浆石结构has_superstructure_mud_mortar_brick是否有泥砂砂浆砖结构has_superstructure_cement_mortar_brick是否有水泥砂砂浆砖结构has_superstructure_timber是否有木结构has_superstructure_bamboo是否有竹结构has_superstructure_rc_non_engineered是否有非工程钢筋混凝土结构has_superstructure_rc_engineered是否有工程钢筋混凝土结构has_superstructure_other是否有其他结构legal_ownership_status法律所有权状态count_families家庭数量has_secondary_use是否有次要用途has_secondary_use_agriculture是否有农业次要用途has_secondary_use_hotel是否有酒店次要用途has_secondary_use_rental是否有出租次要用途has_secondary_use_institution是否有机构次要用途has_secondary_use_school是否有学校次要用途has_secondary_use_industry是否有工业次要用途has_secondary_use_health_post是否有医疗设施次要用途has_secondary_use_gov_office是否有政府办公室次要用途has_secondary_use_use_police是否有警察局次要用途has_secondary_use_other是否有其他次要用途damage_grade损坏等级 Data Analysis and Visualization 数据分析与可视化
Correlation 相关性 使用斯皮尔曼相关系数计算数据集中数值型特征与目标变量之间的相关性并创建一个热力图来可视化这些相关性。热力图中的颜色深浅表示了相关性的强弱同时在图中还显示了具体的相关系数数值。此外通过掩码操作对角线以下的相关性值被遮盖以避免重复显示。 Hierarchial Clustering 分层聚类 通过分层聚类的方法将特征进行聚类。函数接受数据集、标签和方法参数作为输入。首先它计算特征之间的相关性矩阵然后利用相关性矩阵构建聚类树。接着使用函数生成特征之间的链接矩阵表示特征的相似性。最后通过以树状图的形式可视化特征的聚类结果并在图表上显示特征的标签。 Adversarial Validation 对抗验证 绘制一个包含多个子图的图表用于显示训练数据集和测试数据集中数值型特征的分布情况。在每个子图中使用直方图来展示该特征在训练数据集和测试数据集中的分布情况其中训练数据集的直方图以红色表示测试数据集的直方图以绿色表示。同时对于没有特征对应的子图将其隐藏。整个图表的标题用于描述特征在不同数据集中的分布情况并在图例中标识了训练数据集和测试数据集。 在对抗验证中看到训练和测试数据可能不遵循相同的分布但是从视觉上看一些数值变量在两者中具有相同的分布。 Target 目标 针对训练数据集中目标变量的不同取值绘制一个柱状图来展示每个取值对应的样本数量。 这是一个具有不平衡类的数据集在这种情况下我们将选择在验证中使用 Stratified K-Fold。 Stratified K-Fold 是一种交叉验证的方法它能够在划分数据集时保持每个折叠中各个类别样本的比例与整个数据集中各个类别样本的比例相似。在机器学习中特别是在处理不平衡类别的数据集时使用 Stratified K-Fold 能够更好地确保模型在交叉验证过程中对各个类别的预测能力。这种方法有助于减少由于不平衡数据引起的模型评估偏差提高模型评估的准确性和稳健性。
Model 模型 对多个分类模型进行了交叉验证并记录了它们的性能评分。
models [(log, LogisticRegression(random_state SEED, max_iter 1000000)),(bnb, BernoulliNB()),(rf, RandomForestClassifier(random_state SEED)),(et, ExtraTreesClassifier(random_state SEED)),(xgb, XGBClassifier(random_state SEED)),(lgb, LGBMClassifier(random_state SEED,verbosity0)),(gb, GradientBoostingClassifier(random_state SEED)),(hgb, HistGradientBoostingClassifier(random_state SEED))
]这些模型的性能评估结果如下
Val Score: 0.53032 ± 0.01052 | Train Score: 0.54762 ± 0.00718 | log
Val Score: 0.52955 ± 0.00822 | Train Score: 0.53774 ± 0.00188 | bnb
Val Score: 0.53408 ± 0.01000 | Train Score: 0.99584 ± 0.00076 | rf
Val Score: 0.51914 ± 0.00924 | Train Score: 0.99584 ± 0.00076 | et
Val Score: 0.52693 ± 0.01181 | Train Score: 0.89624 ± 0.00137 | xgb
Val Score: 0.52754 ± 0.01253 | Train Score: 0.83933 ± 0.00353 | lgb
Val Score: 0.52542 ± 0.01657 | Train Score: 0.63977 ± 0.00856 | gb
Val Score: 0.52613 ± 0.00736 | Train Score: 0.88695 ± 0.00303 | hgb根据结果来看各个模型的验证集得分Val Score大致在 0.52 到 0.53 之间训练集得分Train Score则普遍较高。这可能表明模型存在一定程度的过拟合即在训练集上表现优秀但在验证集上的表现较差。特别地随机森林rf和极端随机树et模型在训练集上获得了接近1的得分可能存在过拟合的风险。 Vote 投票 定义了一个投票分类器 voting将之前定义的多个模型 models 作为投票的选项并使用软投票策略进行投票。
Val Score: 0.54648 ± 0.01122 | Train Score: 0.96209 ± 0.00166 | mean_models根据结果来看使用投票分类器进行软投票voting‘soft’得到的验证集得分为 0.54648训练集得分为 0.96209。与之前单个模型相比投票分类器在验证集上的得分略有提升说明投票策略可以有效地改善模型性能。 Score Models 模型评分 对模型评分进行可视化展示以便更清晰地展示模型评分的信息。