2026/4/18 6:47:39
网站建设
项目流程
单位网站制作费用报价单,专业手机网站建设哪家好,品古典家具网站模板,商丘朋友圈推广浙大疏锦行
kaggle参与比赛注意事项#xff1a;
仅可使用官方提供的数据集#xff0c;在平台内完成数据预处理且不得修改数据集结构#xff0c;提交文件需为仅含指定列的 CSV 格式#xff0c;遵守每日提交次数限制#xff1b;代码需使用平台支持的库、包含完整可复现流程…浙大疏锦行kaggle参与比赛注意事项仅可使用官方提供的数据集在平台内完成数据预处理且不得修改数据集结构提交文件需为仅含指定列的 CSV 格式遵守每日提交次数限制代码需使用平台支持的库、包含完整可复现流程且为原创禁止抄袭或依赖外部缓存、已训练模型权重个人参赛不可与他人协作共享代码或结果同时需确保提交文件大小符合限制模型训练目标需与竞赛评估指标一致。参与比赛代码# 1. 导入必要库 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.impute import SimpleImputer from sklearn.preprocessing import OneHotEncoder from sklearn.compose import ColumnTransformer from sklearn.pipeline import Pipeline from sklearn.metrics import accuracy_score # 2. 加载数据集 train_data pd.read_csv(/kaggle/input/titanic/train.csv) test_data pd.read_csv(/kaggle/input/titanic/test.csv) submission_template pd.read_csv(/kaggle/input/titanic/gender_submission.csv) # 3. 分离特征与标签训练集 X train_data.drop([Survived, PassengerId, Name, Ticket, Cabin], axis1) # 剔除无关特征 y train_data[Survived] test_passenger_ids test_data[PassengerId] # 保存测试集ID用于提交 X_test test_data.drop([PassengerId, Name, Ticket, Cabin], axis1) # 测试集特征处理 # 4. 定义预处理流程处理缺失值编码分类特征 # 分类特征Sex, Embarked数值特征Pclass, Age, SibSp, Parch, Fare categorical_features [Sex, Embarked] numerical_features [Pclass, Age, SibSp, Parch, Fare] # 数值特征预处理用中位数填充缺失值 numerical_transformer SimpleImputer(strategymedian) # 分类特征预处理用最频繁值填充缺失值独热编码 categorical_transformer Pipeline(steps[ (imputer, SimpleImputer(strategymost_frequent)), (onehot, OneHotEncoder(handle_unknownignore)) # 忽略测试集未出现的分类值 ]) # 整合预处理流程 preprocessor ColumnTransformer( transformers[ (num, numerical_transformer, numerical_features), (cat, categorical_transformer, categorical_features) ]) # 5. 构建模型管道预处理训练 model Pipeline(steps[ (preprocessor, preprocessor), (classifier, RandomForestClassifier(n_estimators100, random_state42)) # 随机森林模型 ]) # 6. 训练模型可拆分验证集评估效果 X_train, X_val, y_train, y_val train_test_split(X, y, test_size0.2, random_state42) model.fit(X_train, y_train) # 验证集评估可选用于优化模型 y_val_pred model.predict(X_val) val_accuracy accuracy_score(y_val, y_val_pred) print(f验证集准确率{val_accuracy:.4f}) # 7. 用完整训练集重新训练提升模型泛化能力 model.fit(X, y) # 8. 测试集预测 y_test_pred model.predict(X_test) # 9. 生成提交文件 submission pd.DataFrame({ PassengerId: test_passenger_ids, Survived: y_test_pred }) # 保存提交文件Kaggle会自动识别该路径下的文件用于提交 submission.to_csv(/kaggle/working/titanic_submission.csv, indexFalse) print(提交文件生成完成) print(submission.head()) # 查看前5行确认格式正确