浅尝Kaggle与libsvm

本文介绍了如何利用libsvm在Kaggle上进行泰坦尼克数据集的分析。首先,下载并查看数据,注意到乘客存活与年龄、性别、舱位、登船口等因素有关。接着,对数据进行预处理,转化为libsvm要求的格式。然后,应用libsvm的SVM模型,得到约94%的Accuracy。最后,将结果上传至Kaggle,初始得分0.71292,强调了参数调优和数据格式的重要性。
摘要由CSDN通过智能技术生成

看了台湾某教授的一部分ML课程,手痒痒,于是去下载了libsvm来玩玩。正巧学长介绍了kaggle这个有趣的网站,里面有很多数据的竞赛,就拿这个经典的泰坦尼克例子来学习吧-> [懒人请点] (https://www.kaggle.com/c/titanic)。

一、首先把titanic的数据下载下来,共三个文件: gender_submission.csv、test.csv、train.csv,分别是提交格式、测试集和训练集。用pandas的库函数来看看train set里究竟有哪些数据吧!

import pandas
titanic = pandas.read_csv('train.csv')
titanic.describe()

这里写图片描述

大致就是乘客ID、是否存活、舱位、年龄等等(由于测试集已经被作者处理过,所以建议读者亲自看一看,也可以直接打开train.csv观察)。

二、在大致观察过这些数据后,不难发现,直观上乘客存活的几率与年龄、性别、舱位、登船号有很大关联(年龄、登船口等数据有缺失部分待处理),而与其他数据如姓名、家人数量、票价等关联度不大,或者说没有明显的关系,那我们接下来做一个简单的处理:

def preDataHandle(f):
    data_train = pd.read_csv(f)

    #把年龄的缺失值用现有数据的中位数来替代并赋值给原数据
    data_train['Age'] =   data_train['Age'].fillna(data_train['Age'].median())

    #把男性置0,女性置1
    data_train.loc[data_train['Sex'] == 'male', 'Sex'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值