kaggle初探之titanic

环境部署

环境部署需要安装python,这里已经配置好,略过

首先登陆kaggle 下载titanic数据

https://www.kaggle.com/c/titanic/data

点击Download ALL

查看数据

  • gender

  • test.csv

  • train.csv

开始建模

import pandas as pd
import os
from sklearn.feature_extraction import DictVectorizer
#导入随机森林
from sklearn.ensemble import RandomForestClassifier
#导入xgboost并初始化
from xgboost import  XGBClassifier
#使用网格搜寻的方法寻找更好的超参数
from sklearn.model_selection import GridSearchCV

os.chdir("/media/sdc/yueyao/Test/jupyter")
#读入数据
train = pd.read_csv("Datasets/train.csv")
test = pd.read_csv("Datasets/test.csv")

#选择预测有效的特征
selected_features = [‘Pclass‘,‘Sex‘,‘Age‘,‘Embarked‘,‘SibSp‘,‘Parch‘,‘Fare‘]
X_train = train[selected_features]
X_test = test[selected_features]
y_train = train[‘Survived‘]

#  Embarked 存在缺失,选择出现频率最高的进行填充
X_train[‘Embarked‘].fillna(‘S‘,inplace=True)
X_test[‘Embarked‘].fillna(‘S‘,inplace=True)

# 对于Age使用平均值或者中位数进行填充NA
X_train[‘Age‘].fillna(X_train[‘Age‘].mean(),inplace=True)
X_test[‘Age‘].fillna(X_test[‘Age‘].mean(),inplace=True)
X_test[‘Fare‘].fillna(X_test[‘Fare‘].mean(),inplace=True)

#对特征进行向量化
dict_vec = DictVectorizer(sparse = False)
X_train = dict_vec.fit_transform(X_train.to_dict(orient=‘record‘))
X_test = dict_vec.fit_transform(X_test.to_dict(orient=‘record‘))

#初始化
rfc = RandomForestClassifier()
xgbc = XGBClassifier()

#使用5折交叉验证的方法
from sklearn.model_selection import cross_val_score
cross_val_score(rfc,X_train,y_train,cv=5).mean()
cross_val_score(xgbc,X_train,y_train,cv=5).mean()

#使用RandomForestClassifier进行预测
rfc.fit(X_train,y_train)
#使用训练的模型进行预测
rfc_y_predict = rfc.predict(X_test)

#rfc预测的结果转化成数据框
rfc_submission = pd.DataFrame({‘PassengerId‘:test[‘PassengerId‘],‘Survived‘:rfc_y_predict})
#保存数据
rfc_submission.to_csv("Datasets/rfc_submission.csv",index=False)

xgbc.fit(X_train,y_train)
#使用XGBC进行预测
xgbc_predict = xgbc.predict(X_test)
#生成数据框
xgbc_submission = pd.DataFrame({‘PassengerId‘:test[‘PassengerId‘],‘Survived‘:xgbc_predict})
#保存数据
xgbc_submission.to_csv("Datasets/xgbc_submission.csv",index=False)

params={
    ‘max_depth‘:range(2,7),
    ‘n_estimators‘:range(100,1100,200),
    ‘learning_rate‘:[0.05,0.1,0.25,0.5,1.0]
}
xgbc_best = XGBClassifier()
gs = GridSearchCV(xgbc_best,params,n_jobs=-1,cv=5,verbose=1)
gs.fit(X_train,y_train)

#检查优化后的超参数配置
gs.best_score_
gs.best_params_

xgbc_best_y_predict = gs.predict(X_test)
xgbc_best_submission = pd.DataFrame({
    ‘PassengerId‘:test[‘PassengerId‘],
    ‘Survived‘:xgbc_best_y_predict
})
xgbc_best_submission.to_csv("Datasets/xgbc_best_submission.csv",index=False)

结果的提交

  • 使用api进行提交,首先需要下载一个json格式的钥匙,放在家目录.kaggle/
mv kaggle.json /home/yueyao/.kaggle/

#安装kaggle
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple kaggle

#使用kaggle提交
kaggle competitions submit -c titanic -f xgbc_submission.csv -m "xgbc_predict"

我的提交里面会有得分

原文地址:https://www.cnblogs.com/raisok/p/12221250.html

时间: 2024-11-08 14:46:18

kaggle初探之titanic的相关文章

kaggle数据挖掘——以Titanic为例介绍处理数据大致步骤

Titanic是kaggle上的一道just for fun的题,没有奖金,但是数据整洁,拿来练手最好不过. 本文以 Titanic 的数据,使用较为简单的决策树,介绍处理数据大致过程.步骤 注意,本文的目的,在于帮助你入门数据挖掘,熟悉处理数据步骤.流程 决策树模型是一种简单易用的非参数分类器.它不需要对数据有任何的先验假设,计算速度较快,结果容易解释,而且稳健性强,对噪声数据和缺失数据不敏感.下面示范用kaggle竞赛titanic中的数据集为做决策树分类,目标变量为survive 读取数据

kaggle—first play—Titanic

玩了很久总算是又静下心来好好看书,经过一段时间的学习,打算稍微检验一下知识的掌握程度,所以去kaggle参加了久闻的泰坦尼克生还预测,以下是正文. ----------------------------------------------------------------------------------------- 1.观察数据 拿到数据集后,先来了解数据的大致情况. data.info() data_des = data.describe()          可以得知数据集有12列

我的第一个 Kaggle 比赛学习 - Titanic

背景 Titanic: Machine Learning from Disaster - Kaggle 2 年前就被推荐照着这个比赛做一下,结果我打开这个页面便蒙了,完全不知道该如何下手. 两年后,再次打开这个页面,看到清清楚楚的Titanic Tutorial - Kaggle,完全傻瓜式的照着做就能做下来.当年是什么蒙蔽了我的眼睛~ Target use machine learning to create a model that predicts which passengers sur

kaggle入门题Titanic

集成开发环境:Pycharm python版本:2.7(anaconda库) 用到的库:科学计算库numpy,数据分析包pandas,画图包matplotlib,机器学习库sklearn 大体步骤分为三步: 1.数据分析 2.交叉验证 3.预测并输出结果 导入库函数 import numpy as np import pandas as pa import matplotlib.pyplot as pl from sklearn.linear_model import LogisticRegre

kaggle入门之Titanic生存预测

比赛说明 RMS泰坦尼克号沉没是历史上最臭名昭着的沉船之一.1912年4月15日,在她的处女航中,泰坦尼克号在与冰山相撞后沉没,在2224名乘客和机组人员中造成1502人死亡.这场耸人听闻的悲剧震惊了国际社会,并为船舶制定了更好的安全规定. 造成海难失事的原因之一是乘客和机组人员没有足够的救生艇.尽管幸存下沉有一些运气因素,但有些人比其他人更容易生存,例如妇女,儿童和上流社会. 在这个挑战中,我们要求您完成对哪些人可能存活的分析.特别是,我们要求您运用机器学习工具来预测哪些乘客幸免于悲剧. 目标

[kaggle入门] Titanic Machine Learning from Disaster

Titanic Data Science Solutions¶ https://www.kaggle.com/startupsci/titanic-data-science-solutions 数据挖掘竞赛七个步骤:¶ Question or problem definition. Acquire training and testing data. Wrangle, prepare, cleanse the data. Analyze, identify patterns, and explo

Kaggle案例(一)Titanic: Machine Learning from Disaste

1. 案例简介 Titanic 案例是Kaggle 入门案例,链接地址https://www.kaggle.com/c/titanic .以下是摘自官网上的描述信息: 2. 分析数据 2.1 读取数据 加载训练数据 data_train = pd.read_csv("./input/train.csv") 预览数据 data_train.head() 训练集数据说明: 查看数据集信息 data_train.info() 查看有缺失值的列 ata_train.columns[data_t

Kaggle泰坦尼克数据科学解决方案

原文地址如下: https://www.kaggle.com/startupsci/titanic-data-science-solutions 看完一遍,什么也没记住,于是干脆直接翻译一遍. 然鹅,依旧没记住什么. ---------------------------------------------------------------- p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px SimSun } p.p1 { margin:

Kaggle初学者五步入门指南,七大诀窍助你享受竞赛

Kaggle 是一个流行的数据科学竞赛平台,已被谷歌收购,参阅<业界 | 谷歌云官方正式宣布收购数据科学社区 Kaggle>.作为一个竞赛平台,Kaggle 对于初学者来说可能有些难度.毕竟其中的一些竞赛有高达 100 万美元的奖金池和数百位参赛者.顶级的团队在处理机场安全提升或卫星数据分析等任务上拥有数十年积累的经验.为了帮助初学者入门 Kaggle,EliteDataScience 近日发表了一篇入门介绍文章,解答了一些初学者最常遇到的问题.机器之心对这篇文章进行了编译介绍,另外也增加了一