泰坦尼克号幸存者预测

仅作为学习记录

例子:泰坦尼克号幸存者预测

1.导入库和数据集
在这里插入图片描述
2.探索数据,数据预处理

data.info()

在这里插入图片描述

data.head()#显示前xx行,括号不写默认前5行

在这里插入图片描述
筛选特征

#筛选特征
#axis=0,1  0是行 1是列
data.drop(['Name','Cabin'],inplace=True,axis=1)#可以一次性删除多列,inplace=True:新表覆盖旧表
#或者data=data.drop(['Name','Cabin'],inplace=False,axis=1)

处理缺失值

#处理缺失值
data["Age"]=data["Age"].fillna(data["Age"].mean())
#na是缺失值,fillna为填补缺失值,年龄缺少的不多,可以用平均年龄填补
#,有时候直接用fillna(0),或者中值什么什么的,甚至可以用算法填补

data.dropna()
#删掉有缺失值的行,axis=0,1  0是行 1是列,默认是行

决策树处理不了文字,把文字的转化为数字

labels=data["Embarked"].unique().tolist()

data["Embarked"]=data["Embarked"].apply(lambdax:labels.index(x))
#没有关联的可以转化
#apply:在这一列上执行apply括号里的操作

python提示最好不要用data[列名],用loc,iloc
data.loc[:,“Sex”]==data[“Sex”]
在这里插入图片描述

分训练集测试集并处理
获取x和y
在这里插入图片描述
解析:
在这里插入图片描述

返回为True的列都取出来
在这里插入图片描述
再同样的方法处理y

在这里插入图片描述
若进行随机处理后索引变乱,最好是恢复索引的顺序
在这里插入图片描述
在这里插入图片描述

reset_index(drop=true)#也可以重置索引

跑模型
跑一次
在这里插入图片描述
用交叉验证试试
在这里插入图片描述
效果都不大,进行调参,先试试max_depth
循环,试试多少层的分数最高
画线作图,让x轴显示1到10

在这里插入图片描述
结果展示
在这里插入图片描述
发现3那一点效果比较好
修改criterion参数为entropy信息熵
entropy信息熵一般为欠拟合时候使用
在这里插入图片描述
效果更好了
网格搜索
可以同时调整多个参数,本质是枚举技术
计算量非常大,时间比较长

在这里插入图片描述

min_impurity_decrease不用网格搜索一般用不到
给min_impurity_decrease取值比较麻烦,用np.linspace生成等差数列

实例化GridSearchCV参数:
clf:模型
parameters:有着参数和参数取值范围的列表的字典
cv:交叉验证次数

GS.best_params_#返回最佳组合
GS.best_score_#返回最佳组合下的模型的评判标准

在这里插入图片描述

网格搜索也有缺点,它无法舍弃掉那些参数。
网格搜索出来的不一定比我们自己调试的高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值