
基于机器学习的难熔高熵合金相形成与屈服强度预测项目实践1. 项目背景难熔高熵合金具有高熔点、高强度、良好的高温稳定性等特点在航空航天、高温结构材料和先进制造领域具有较高研究价值。但这类合金的成分空间非常大单纯依靠实验试错成本高、周期长因此可以引入机器学习方法从已有文献和实验数据中学习“成分-组织-性能”之间的关系。本项目围绕难熔高熵合金数据集完成了两个核心任务相形成预测根据合金成分、测试条件等特征预测相结构类型。屈服强度预测根据成分、相结构和测试温度等信息预测合金屈服强度。项目最终输出模型指标、特征重要性图、预测对比图、清洗后的数据表以及基于模型的候选成分逆向设计结果。模型交叉验证结果图下面这张图来自项目输出目录中的strength_cv_r2.png展示了不同强度预测模型在交叉验证中的 R2 表现。2. 项目文件结构项目主要由一个主脚本驱动核心文件如下文件或目录作用generate_ml_figures.py主程序负责数据清洗、建模、评估、绘图和结果导出requirements.txtPython 依赖说明最终数据集.xlsx原始合金数据本仓库公开版未包含该数据文件outputs_full_hold12_r2/模型输出、图表、CSV 和结果摘要本仓库公开版未包含该输出目录此外还有两个辅助脚本用于指定样本范围或指定合金体系的补充预测展示。3. 数据字段说明当前数据表的核心字段包括字段含义alloy_name合金成分名称reference文献编号phase_type相结构标签test_temperature测试温度yield_strength屈服强度主脚本会进一步从alloy_name中解析出元素比例例如Al0.25NbTaTiZr。会被解析为多个元素比例特征元素比例特征含义elem_AlAl 元素归一化比例elem_NbNb 元素归一化比例elem_TaTa 元素归一化比例elem_TiTi 元素归一化比例elem_ZrZr 元素归一化比例这样可以把原本的化学式字符串转换为机器学习模型可直接使用的数值特征。4. 数据清洗逻辑材料数据通常来自文献整理、表格提取或 OCR 识别因此原始数据中容易出现格式不一致问题。本项目在建模前做了几类清洗4.1 合金名称清洗脚本会对常见 OCR 错误进行修正例如错误识别修正结果TITiAIAlSISi还会去除成分名称后面的工艺备注例如括号中的“冷轧后”“重结晶”等说明避免影响元素解析。4.2 相结构标准化相结构标签中可能存在大小写不统一、复合相写法不统一等问题。脚本会统一常见相结构标签例如BCC、B2、FCC、HCP、Laves、M5Si3。并进一步将复杂标签归并为更适合分类建模的phase_group。4.3 防止目标泄漏在屈服强度预测任务中脚本没有把yield_strength_density作为输入特征因为它直接由屈服强度派生容易造成目标泄漏。在相形成预测任务中脚本没有把单相/多相标记作为输入避免把与标签高度重叠的信息提前喂给模型。5. 特征工程模型输入特征主要分为两类。数值特征包括数值特征说明test_temperature测试温度elem_AlAl 元素比例elem_HfHf 元素比例elem_NbNb 元素比例elem_TaTa 元素比例elem_TiTi 元素比例elem_ZrZr 元素比例类别特征包括类别特征说明phase_group归并后的相结构类别load_mode拉伸或压缩测试模式equilibrium_condition热处理或平衡条件数值特征使用中位数填补缺失值并进行标准化类别特征使用众数填补缺失值并进行 One-Hot 编码。整个预处理流程和模型被封装到sklearn.pipeline.Pipeline中保证训练、验证和预测使用完全一致的数据处理方式。6. 相形成预测相形成预测是一个分类任务目标变量为phase_group。项目中主要比较了RandomForestClassifier和MLPClassifier。评估指标包括指标含义Accuracy分类准确率F1-macro宏平均 F1 分数交叉验证准确率多折验证下的平均准确率输出结果包括输出文件作用phase_confusion_matrix.png相形成预测混淆矩阵phase_feature_importance.png相形成预测特征重要性图phase_model_comparison.png相形成模型对比图phase_cv_accuracy.png相形成交叉验证准确率图typical_phase_prediction.csv典型样本相形成预测结果这些结果可以用于判断模型对不同相结构的识别效果也可以观察哪些元素或实验条件对相形成影响更大。7. 屈服强度预测屈服强度预测是一个回归任务目标变量为yield_strength。项目中比较了RandomForestRegressor、ExtraTreesRegressor、MLPRegressor和GradientBoostingRegressor。评估指标包括指标含义R2回归拟合优度MAE平均绝对误差RMSE均方根误差交叉验证R2多折验证下的 R2 表现输出结果包括输出文件作用strength_prediction_scatter.png屈服强度真实值与预测值散点图strength_feature_importance.png屈服强度预测特征重要性图strength_model_comparison.png强度预测模型对比图strength_cv_r2.png强度预测交叉验证 R2 图typical_strength_prediction.csv典型样本强度预测结果其中预测散点图可以直观看出模型预测值与真实值之间的偏差特征重要性图则可以辅助分析影响屈服强度的关键因素。8. 留出测试与模型泛化普通随机划分训练集和测试集时同一合金成分的不同温度或不同状态样本可能同时出现在训练集和测试集中这会让测试结果看起来更好。项目中加入了按唯一合金成分留出的测试方式holdout_unique_alloys。这种方式会把部分合金成分整体作为测试集更接近真实应用中“预测未见过的新成分”的场景。因此它比普通随机划分更严格也更能反映模型泛化能力。9. 逆向设计思路除了预测已有样本的性能项目还加入了一个简单的逆向设计流程根据已有元素集合生成大量候选成分。使用训练好的强度预测模型评估候选成分。选择预测屈服强度最高的候选合金。导出最佳候选成分和全量逆向设计结果。相关输出文件包括输出文件作用inverse_design_best_alloy.csv预测强度最高的候选合金成分inverse_design_from_predicted_strength_all_rows.csv每条样本对应的逆向设计近似结果dataset_with_inverse_design_horizontal.xlsx原数据与逆向设计结果的横向汇总文件这个流程不能直接替代实验验证但可以作为材料设计中的候选筛选工具帮助研究者缩小实验搜索范围。10. 项目优点这个项目的优点主要有从化学式中自动解析元素比例减少手工整理特征的工作量。使用 Pipeline 管理预处理和模型训练流程比较规范。同时覆盖相形成分类和强度回归两个任务。输出图表、CSV 和 JSON 摘要方便论文作图和结果汇报。考虑了目标泄漏和更严格的合金成分留出测试。增加了简单的逆向设计流程使模型不只停留在预测阶段。11. 当前局限项目也存在一些可以继续优化的地方数据量仍然较小模型结果容易受样本分布影响。神经网络模型对小数据集不一定稳定需要更多调参或更大数据量支持。特征主要来自成分和实验条件尚未引入更丰富的物理描述符。逆向设计结果只是模型预测结果需要进一步实验验证。如果源 Excel 列名或格式变化数据读取逻辑还需要增强鲁棒性。12. 总结本项目展示了一个材料机器学习项目的完整闭环数据整理、数据清洗、特征工程、分类预测、回归预测、可视化分析和逆向设计。对于难熔高熵合金这类成分空间巨大的材料体系机器学习可以帮助研究者更快地发现潜在规律、筛选候选成分并为后续实验提供方向。当然模型预测不能替代材料实验。更合理的使用方式是让模型作为“前置筛选器”在大量候选配方中优先挑出值得实验验证的方向从而降低试错成本、提高研发效率。公司信息公司名称贵州安然智行科技有限责任公司公司性质企业官网https://www.gzarzx.com网站名称安然智行ICP 备案号黔ICP备2023010920号-4