MLJAR AutoML实战:泰坦尼克生存预测完整案例
MLJAR AutoML实战泰坦尼克生存预测完整案例【免费下载链接】mljar-supervisedmljar/mljar-supervised: 是一个基于 AUTOML 的机器学习框架支持多种数据类型和任务适合用于快速构建和部署机器学习模型。项目地址: https://gitcode.com/gh_mirrors/ml/mljar-supervised泰坦尼克号沉没是历史上最著名的海难事件之一预测乘客的生存情况是机器学习领域的经典入门案例。本文将详细介绍如何使用MLJAR AutoML这一强大的自动化机器学习框架快速构建准确的泰坦尼克号生存预测模型即使是机器学习新手也能轻松完成整个流程。一、什么是MLJAR AutoMLMLJAR AutoML是一个基于自动化机器学习AutoML的Python框架它能够自动处理数据预处理、模型选择、超参数调优和模型集成等复杂流程让用户无需深入了解机器学习细节就能构建高性能模型。该框架支持分类、回归等多种任务特别适合快速原型开发和业务落地。核心优势零代码门槛自动完成特征工程和模型优化多算法支持内置10经典机器学习算法可视化报告自动生成模型解释和评估报告时间控制可设置训练时间限制灵活平衡精度与效率二、环境准备与安装2.1 安装MLJAR AutoML通过pip快速安装pip install mljar-supervised2.2 获取项目代码克隆官方仓库git clone https://gitcode.com/gh_mirrors/ml/mljar-supervised cd mljar-supervised三、数据准备与探索3.1 数据集介绍泰坦尼克号数据集包含乘客的个人信息和生存状态主要特征包括PassengerId乘客IDPclass客舱等级1/2/3等舱Name姓名Sex性别Age年龄SibSp兄弟姐妹/配偶数量Parch父母/子女数量Ticket船票号码Fare票价Cabin客舱号Embarked登船港口数据集位置tests/data/Titanic/train.csv和tests/data/Titanic/test_with_Survived.csv3.2 数据加载与基本分析使用Pandas加载数据并查看基本信息import pandas as pd # 加载训练集和测试集 df_train pd.read_csv(./tests/data/Titanic/train.csv) df_test pd.read_csv(./tests/data/Titanic/test_with_Survived.csv) # 查看数据形状 print(f训练集: {df_train.shape[0]}行 {df_train.shape[1]}列) print(f测试集: {df_test.shape[0]}行 {df_test.shape[1]}列) # 查看前3行数据 df_train.head(3)输出结果训练集: 891行 12列 测试集: 418行 12列四、使用MLJAR AutoML构建模型4.1 数据预处理与模型训练MLJAR AutoML会自动处理缺失值填充、类别特征编码等预处理步骤只需简单几行代码即可完成模型训练from supervised.automl import AutoML from sklearn.metrics import accuracy_score # 准备特征和目标变量 X_train, y_train df_train.drop([Survived], axis1), df_train[Survived] X_test, y_test df_test.drop([Survived], axis1), df_test[Survived] # 初始化AutoML设置训练时间限制为10秒 automl AutoML(total_time_limit10) automl.fit(X_train, y_train)训练过程中AutoML会尝试多种算法如决策树、随机森林、XGBoost等并自动进行模型集成控制台会输出训练进度AutoML directory: AutoML_2 The task is binary_classification with evaluation metric logloss AutoML will use algorithms: [Baseline, Linear, Decision Tree, Random Forest, Xgboost, Neural Network] AutoML will ensemble available models AutoML steps: [simple_algorithms, default_algorithms, ensemble] * Step simple_algorithms will try to check up to 3 models 1_Baseline logloss 0.666775 trained in 0.21 seconds 2_DecisionTree logloss 0.648504 trained in 58.35 seconds * Step ensemble will try to check up to 1 model Ensemble logloss 0.518593 trained in 0.18 seconds AutoML fit time: 64.94 seconds4.2 扩展探索性数据分析EDAMLJAR提供内置的扩展EDA工具自动生成数据分布、特征相关性等可视化报告from supervised.preprocessing.eda import EDA # 生成详细EDA报告 EDA.extensive_eda(X_train, y_train, save_path./automl_report/)该工具会生成多种可视化图表帮助理解数据特征目标变量分布生存vs死亡比例数值特征的分布与相关性类别特征与目标变量的关系缺失值热力图五、模型预测与评估5.1 生成预测结果训练完成后使用模型对测试集进行预测# 预测测试集 predictions automl.predict(X_test) print(f预测结果形状: {predictions.shape}) # 输出: (418,)5.2 模型评估使用准确率Accuracy评估模型性能# 计算准确率 accuracy accuracy_score(y_test, predictions) print(f模型在测试集上的准确率: {accuracy:.3f})输出结果模型在测试集上的准确率: 0.758六、模型解释与报告MLJAR AutoML会自动生成详细的HTML报告包含模型性能指标混淆矩阵、ROC曲线等特征重要性分析模型参数配置训练过程日志报告默认保存在AutoML_2/report.html可直接在浏览器中打开查看。七、完整代码总结import pandas as pd from supervised.automl import AutoML from sklearn.metrics import accuracy_score from supervised.preprocessing.eda import EDA # 1. 加载数据 df_train pd.read_csv(./tests/data/Titanic/train.csv) df_test pd.read_csv(./tests/data/Titanic/test_with_Survived.csv) # 2. 准备特征和目标变量 X_train, y_train df_train.drop([Survived], axis1), df_train[Survived] X_test, y_test df_test.drop([Survived], axis1), df_test[Survived] # 3. 训练AutoML模型 automl AutoML(total_time_limit10) automl.fit(X_train, y_train) # 4. 生成预测 predictions automl.predict(X_test) # 5. 评估模型 print(f模型准确率: {accuracy_score(y_test, predictions):.3f}) # 6. 生成EDA报告可选 EDA.extensive_eda(X_train, y_train, save_path./automl_report/)八、进阶优化建议增加训练时间设置更长的total_time_limit如300秒可获得更好性能调整模式参数通过mode参数选择训练模式Explain, Perform, Compete自定义预处理通过preprocessing参数添加自定义特征工程集成模型优化使用stack_models参数调整集成策略通过MLJAR AutoML我们仅用不到20行代码就完成了泰坦尼克号生存预测模型的构建充分体现了自动化机器学习的高效性。无论是初学者入门还是快速业务落地MLJAR都是一个值得尝试的强大工具。更多使用细节可参考官方文档和示例脚本基础示例examples/scripts/binary_classifier_Titanic.pyJupyter notebookexamples/notebooks/Titanic.ipynb【免费下载链接】mljar-supervisedmljar/mljar-supervised: 是一个基于 AUTOML 的机器学习框架支持多种数据类型和任务适合用于快速构建和部署机器学习模型。项目地址: https://gitcode.com/gh_mirrors/ml/mljar-supervised创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考