pythonstudy Day24

复习日

@疏锦行



c 复制代码
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.ensemble import RandomForestClassifier

# 1. 读入数据(注意路径:Kaggle Notebook 里直接就是 /kaggle/input/...)
train = pd.read_csv("/kaggle/input/titanic/train.csv")
test = pd.read_csv("/kaggle/input/titanic/test.csv")

# 2. 简单特征工程
# 选择一些比较有用的特征
features = ["Pclass", "Sex", "Age", "SibSp", "Parch", "Fare", "Embarked"]

train = train[features + ["Survived"]]
test_features = test[features]

# 处理缺失值
# Age 和 Fare 用中位数填充,Embarked 用众数填充
for df in [train, test_features]:
    df["Age"].fillna(df["Age"].median(), inplace=True)
    df["Fare"].fillna(df["Fare"].median(), inplace=True)
    df["Embarked"].fillna(df["Embarked"].mode()[0], inplace=True)

# 把 Sex 和 Embarked 变成数字(one-hot 编码)
train = pd.get_dummies(train, columns=["Sex", "Embarked"])
test_features = pd.get_dummies(test_features, columns=["Sex", "Embarked"])

# 对齐列(避免测试集缺某些 dummy 列)
test_features = test_features.reindex(columns=train.drop("Survived", axis=1).columns, fill_value=0)

X = train.drop("Survived", axis=1)
y = train["Survived"]

# 3. 划分一部分训练集做本地验证(可选)
X_train, X_valid, y_train, y_valid = train_test_split(X, y, test_size=0.2, random_state=42)

# 4. 训练模型(随机森林只是示例,其他模型也可以)
model = RandomForestClassifier(
    n_estimators=200,
    max_depth=5,
    random_state=42
)
model.fit(X_train, y_train)

# 在验证集上看一下效果(仅自我检查)
y_pred_valid = model.predict(X_valid)
print("Validation accuracy:", accuracy_score(y_valid, y_pred_valid))

# 5. 用全部训练数据重新训练,然后在测试集上预测
model.fit(X, y)
test_pred = model.predict(test_features)

# 6. 生成提交文件
submission = pd.DataFrame({
    "PassengerId": test["PassengerId"],
    "Survived": test_pred
})

submission.to_csv("submission.csv", index=False)
print("submission.csv 已保存")
相关推荐
buttonupAI4 小时前
今日Reddit各AI板块高价值讨论精选(2025-12-20)
人工智能
2501_904876484 小时前
2003-2021年上市公司人工智能的采纳程度测算数据(含原始数据+计算结果)
人工智能
曹文杰15190301124 小时前
2025 年大模型背景下应用统计本科 计算机方向 培养方案
python·线性代数·机器学习·学习方法
竣雄5 小时前
计算机视觉:原理、技术与未来展望
人工智能·计算机视觉
救救孩子把5 小时前
44-机器学习与大模型开发数学教程-4-6 大数定律与中心极限定理
人工智能·机器学习
Rabbit_QL5 小时前
【LLM评价指标】从概率到直觉:理解语言模型的困惑度
人工智能·语言模型·自然语言处理
呆萌很5 小时前
HSV颜色空间过滤
人工智能
roman_日积跬步-终至千里5 小时前
【人工智能导论】02-搜索-高级搜索策略探索篇:从约束满足到博弈搜索
java·前端·人工智能
FL16238631296 小时前
[C#][winform]基于yolov11的淡水鱼种类检测识别系统C#源码+onnx模型+评估指标曲线+精美GUI界面
人工智能·yolo·目标跟踪
爱笑的眼睛116 小时前
从 Seq2Seq 到 Transformer++:深度解构与自构建现代机器翻译核心组件
java·人工智能·python·ai