数据展示

首先登kaggle 下载泰坦尼克训练相关数据

import pandas as pd
import numpy as np
data = pd.read_csv('train.csv')
print(data.shape)
print(data.head)
train = data[:800]
test = data[800:]
print(train.shape)
print(test.shape)

选择特征

selected_features = ['Pclass', 'Sex', 'Age', 'Embarked', 'SibSp', 'Parch', 'Fare']
X_train = train[selected_features]
X_test = test[selected_features]y_train = train['Survived']
print(X_train['Embarked'].value_counts())
print(X_test['Embarked'].value_counts())

对空数据进行填充,采用均值填充

X_train['Embarked'].fillna('S', inplace=True)
X_test['Embarked'].fillna('S', inplace=True)X_train['Age'].fillna(X_train['Age'].mean(), inplace=True)
X_test['Age'].fillna(X_train['Age'].mean(), inplace=True)
X_test['Fare'].fillna(X_train['Fare'].mean(), inplace=True)

特征向量化

from sklearn.feature_extraction import DictVectorizer
dict_vec = DictVectorizer(sparse=False)
X_train = dict_vec.fit_transform(X_train.to_dict(orient='record'))
print(dict_vec.feature_names_)
X_test=dict_vec.transform(X_test.to_dict(orient='record'))

引入随机森林和XGB分类器

from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier()
from xgboost import XGBClassifier
xgbc = XGBClassifier()

交叉验证

from sklearn.model_selection import train_test_split, cross_val_score,GridSearchCV
print(cross_val_score(rfc, X_train, y_train, cv=4, scoring='accuracy').mean())
print(cross_val_score(xgbc, X_train, y_train, cv=4, scoring='accuracy').mean())
y_test = test['Survived']

使用RandomForestClassifier 进行预测操作

rfc.fit(X_train, y_train)
rfc_y_predict = rfc.predict(X_test)
rfc_submission = pd.DataFrame({'PassengerId': test['PassengerId'], 'Survived': rfc_y_predict})
rfc_submission.to_csv('rfc_submission.csv', index=False)
print('Train Accuracy: %.1f%%' % (np.mean(rfc_y_predict == y_test) * 100))

使用默认配置的XGBClassifier进行预测操作

xgbc.fit(X_train, y_train)
XGBClassifier(base_score=0.5, colsample_bylevel=1,colsample_bytree=1,gamma=0,learning_rate=0.1,max_delta_step=0,max_depth=3,min_child_weight=1,missing=None,n_estimators=100,nthread=-1,objective='binary:logistic',reg_alpha=0,reg_lambda=1,scale_pos_weight=1,seed=0,silent=True,subsample=1)
xgbc_y_predict=xgbc.predict(X_test)
xgbc_submission = pd.DataFrame({'PassengerId':test['PassengerId'],'Survived':xgbc_y_predict})
xgbc_submission.to_csv('xgbc_submission.csv', index=False)
print('Train Accuracy: %.1f%%' % (np.mean(xgbc_y_predict == y_test) * 100))

使用并行网格搜索的方式寻找更好的超餐组合

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)
print(gs.best_score_)
print(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('xgbc_best_submission.csv')

机器学习kaggle竞赛实战-泰坦尼克号相关推荐

  1. 【新书推荐】机器学习算法竞赛实战,Kaggle Grandmaster倾力打造,涵盖Kaggle、天池等赛题...

    关注公众号,发现CV技术之美 随着互联网时代的到来,以及计算机硬件性能的提升,人工智能在近几年可以说是得到了爆发式的增长.互联网时代带来了大量的信息,这些信息是名副其实的大数据.另外,性能极佳的硬件也 ...

  2. 《机器学习算法竞赛实战》整理 | 八、实战案例:Elo Merchant Category Recommendation

    详情请参见原书 ​​​​​<机器学习算法竞赛实战(图灵出品)>(王贺,刘鹏,钱乾)[摘要 书评 试读]- 京东图书 前言 比赛链接: https://www.kaggle.com/comp ...

  3. 【粉丝福利】赠《机器学习算法竞赛实战》10 本书

    随着互联网时代的到来,以及计算机硬件性能的提升,人工智能在近几年可以说是得到了爆发式的增长.互联网时代带来了大量的信息,这些信息是名副其实的大数据.另外,性能极佳的硬件也使得计算机的计算能力大大增强, ...

  4. Kaggle竞赛实战-手写数字识别器实战

    算法实战--Kaggle竞赛实战 文章目录-微信公众号:AI研习图书馆 Kaggle竞赛实战系列 一.介绍 二.数据准备 2.1.数据加载 2.2.数据可视化 2.3.数据清洗 2.4.归一化 2.5 ...

  5. 《机器学习算法竞赛实战》笔记 - 第一部分 磨刀事半,砍柴功倍

    <机器学习算法竞赛实战>笔记 - 第一部分 磨刀事半,砍柴功倍 I. 图书豆瓣背景: II. 主要框架: 初见竞赛 问题建模 数据探索 特征工程 模型训练 模型融合 1. 初见竞赛: 竞赛 ...

  6. 《机器学习算法竞赛实战》-chapter4特征工程

    <机器学习算法竞赛实战>学习笔记,记录一下自己的学习过程,详细的内容请大家购买作者的书籍查阅. 特征工程 特征工程是算法竞赛中工作量最大,决定参赛者能否拿到较好名次的关键部分.吴恩达老师说 ...

  7. python数据挖掘项目实战 预测_Python机器学习/数据挖掘项目实战 泰坦尼克号Titanic生存预测 Kaggle入门比赛...

    # Titanic : Machine Learning from DisasterQuestion要求你建立一个预测模型来回答这个问题:"什么样的人更有可能生存?"使用乘客数据 ...

  8. 《机器学习算法竞赛实战》学习笔记4.特征工程

    吴恩达老师有言:"机器学习在本质上还是特征工程,数据和特征决定了机器学习的上限,模型和算法只是逼近这个上限而已." 特征工程主要分为:数据预处理.特征变换.特征提取.特征选择四部分 ...

  9. 【机器学习kaggle赛事】泰坦尼克号生存预测

    目录 写在前面 数据集情况查看 数据清洗 Embarked: Fare Age Cabin 特征工程 1,探究Sex与Survived的相关性 2,探究Pcalss与Survived的关联性 3,Em ...

最新文章

  1. 自定义Android注解Part3:绑定
  2. STM32 定时器 定时时间的计算
  3. 解决nuxt.js新建项目报错的问题
  4. 成都女学霸高考 692 分想当“程序媛”,网友:快劝劝孩子
  5. XTU 1271 Color
  6. uint在c语言中的作用,C中int,Uint,uint16等有什么区别以及用处
  7. 传奇所有客户端大合集
  8. 部署bugzilla(bugzilla+apache+mysql+linux)
  9. 踏歌黑名单工具类DEMO(AUB)
  10. 初学python做的一张简单的脑图
  11. 操作系统:磁盘的移臂调度算法
  12. Egret白鹭H5开发-围住神经猫
  13. 【原型制作】无素材-纯原生制作-登录注册页面原型图
  14. php网页全屏背景图代码,HTML5 body设置全屏背景图片的示例代码
  15. 唯众本科物联网工程技术专业解决方案
  16. JavaScript 下载文件、图片
  17. 思维导图-第二章 会计政策和会计估计及其变更
  18. 什么是激光雷达的“发动机技术”?一文讲透行业技术壁垒
  19. python读写ini文件_如何使用Python3读写INI文件?
  20. 部署MySQL数据库到服务器

热门文章

  1. C++中引用与指针的区别(详细介绍)
  2. 操作系统(一)计算机系统概述
  3. 【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)
  4. JDBC 防御性编程
  5. gcc是java的什么意思_为什么gcc支持Java而不是C#
  6. Mysql常用命令(二)
  7. es6的Map()构造函数
  8. 自定义对话框 提示:Unable to add window token null is not for an application
  9. [转]Java7中的ForkJoin并发框架初探(上)——需求背景和设计原理
  10. js的with语句使用方法