Titanic Kaggle 竞赛技术小结(三|终):模型训练

本文总结了在Kaggle Titanic比赛中使用Python进行数据预处理和机器学习模型训练的技术,包括数据清洗、可视化、模型选择(如决策树、随机森林)以及评估指标(查准率、查全率、ROC-AUC)。通过10折交叉验证评估决策树模型,发现Parch和Embarked特征重要性较低,调整模型参数以降低过拟合风险。
摘要由CSDN通过智能技术生成

写在开头:在本节中仅展示python中调用机器学习的方法,已经评价的方法,具体对于每种机器学习模型的算法与理解,可能会在后面的章节进行展开。

回归前文

在前文中我们分享了一些数据查看和清洗的技巧,一些在Titanic 比赛上的数据可视化技巧。可以点击链接进行查看,
Titanic Kaggle 竞赛技术小结(一)
Titanic Kaggle 竞赛技术小结(二)

技术总结

一、全文思路
Step1. 载入数据、包,并查看数据;
Step2. 对数据进行清洗,包括去重复值、异常值、缺失值或特征化数值化处理;
Step3. 利用数据可视化,寻找有价值的变量与变量分组;
Step4. 利用可行的机器学习、深度学习模型进行模型训练;
Step5. 对不同模型的效果进行评估,交叉验证、重要变量筛选、查准率、查全率、F值、ROC-AUC等进行评价;
Step6. 保存数据,结束。
二、关键程序
(此处不展示完整分析过程与代码,只对使用到的函数进行总结,完整项目可见后续文章以及机器学习模型的扩展见后续文章)
Step4. 利用可行的机器学习、深度学习模型进行模型训练。
对于Titanic模型主要涉及的是一个二分类的问题,也就是传统的0-1问题,解决此类问题比较常见的有逻辑回归(LR),决策树(DT),KNN,感知机等,其中具体的算法可以看李航老师《统计学习方法》中对应的章节有相应的详细讲解,可能后续文章会对这些机器学习的方法进行分享,下面展示实现机器学习的部分代码。

#机器学习包-二分类问题
#常见方法模型:LR、随机森林、感知机、梯度下降、DT、KNN、支持向量机、贝叶斯分类器
from sklearn import linear_model
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import Perceptron
from sklearn.linear_model import SGDClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC, LinearSVC
from sklearn.naive_bayes import GaussianNB
train_df = train_df.drop(['Name'], axis=1)
test_df = test_df.drop(['Name'], axis=1)
X_train = train_df.drop('Survived',axis=1)
Y_train = train_df['Survived']
X_test = test_df.copy() # 这里的copy就相当于一个映射两者会共同改变,deepcopy才是复制
#梯度下降法
sgd = linear_model.SGDClassifier(max_iter=5, tol=None)
sgd.fit(X_train, Y_train)
acc_sgd 
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值