pandas学习之数据的建模与评价

前面几天已经将数据全部处理完ta毕,并熟悉了pandas处理数据的基本操作。最后就使用sklearn库来最终解决这个问题,分析测试集中哪些人可以存活。

首先将训练集做去空处理,清理掉训练集中的空数据。pandas中,mean()函数就是求平均值的意思。

 之后再对数据进行转码,转换为one-hot便于分析。

如果数据集本身并不是随机取样的,比如按照时间先后收集或者先收集高等舱再收集低等舱,就需要随机选取,使得各种样本充分混合。

切割数据集方面,python语法允许用元组同时给多个元素赋值,而sklearn为我们提供了一个一步到位的函数train_test_split()。

由于问题训练集已知结果,而且预测的值只有有限种(2种)可能,所以属于“分类”问题。对于此问题,可以使用决策树或者Logistic回归的方法。

建立模型之后,还可以通过score函数在处理所有数据之前评分评价分析模型的优劣。决策树模型看上去效果更好。

使用predict函数就可以开始预测,并把预测结果显示为数组。

预测数据得到之后,就要对预测数据进行评估。 

  • 模型评估是为了知道模型的泛化能力。
  • 交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。
  • 在交叉验证中,数据被多次划分,并且需要训练多个模型。
  • 最常用的交叉验证是 k 折交叉验证(k-fold cross-validation),其中 k 是由用户指定的数字,通常取 5 或 10。
  • 准确率(precision)度量的是被预测为正例的样本中有多少是真正的正例
  • 召回率(recall)度量的是正类样本中有多少被预测为正类
  • f-分数是准确率与召回率的调和平均

 测试集不够大时,可以使用k折验证法,也就是将训练集多次使用,多次训练多次测试,来增加样本数量。

K折过少,在训练和测试集数据太少的时候无法获得较大的样本量。

一般选用5折或10折。

还可以使用混淆矩阵和ROC曲线的方式进行模型评价。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值