python 分析泰坦尼克号生还率_泰坦尼克号上谁的生存几率更大?Kaggle 金牌得主 Python 数据挖掘框架发现真相...

本文通过泰坦尼克号数据集,详细介绍了如何使用Python进行机器学习分析,包括数据预处理、特征工程、模型训练与评估。通过探索性数据分析,发现乘客性别、社会经济地位等因素影响生存率。使用决策树等模型进行预测,最终模型在测试集上的准确率约为82%。文章强调了实际项目训练的重要性,并提供了完整Notebook和数据集以供复现。
摘要由CSDN通过智能技术生成

作者 | 刘早起

翻译/编辑 | 早起Python

来源 | 早起Python(ID:zaoqi-python)

很多同学在学习机器学习时往往掉进了不停看书、刷视频的,但缺少实际项目训练的坑,有时想去练习却又找不到一个足够完整的教程,本项目翻译自kaggle入门项目Titanic金牌获得者的Kernel,该篇文章通过大家并不陌生的泰坦尼克数据集详细的介绍了如何分析问题、数据预处理、建立模型、特征选择、模型评估与改进,是一份不可多得的优秀教程。

本文在翻译的同时删减了部分介绍性文字,并对结构进行了调整方便大家阅读,由于篇幅原因,本篇文章中并没有包含大段的代码,仅保留过程与结果。建议在文末获取Notebook版本与数据集完整复现一遍,如果你正处于机器学习入门阶段相信一定会有所收获!

目录项目背景与分析

数据读入与检查

数据预处理

数据校正

缺失值填充

数据创建

数据转换

数据清洗

数据划分

探索性分析

建模分析

模型评估与优化

交叉验证

超参数调整

特征选择

模型验证

改进与总结

项目背景与分析

泰坦尼克号沉没是历史上有名的沉船事件之一。1912年4月15日,在泰坦尼克号的首次航行中,与冰山相撞后沉没,使2224名乘客和机组人员中的1502人丧生。这一耸人听闻的悲剧震惊了国际社会。

沉船事故导致人员丧生的原因之一是没有足够的救生艇供乘客和船员使用。尽管在下沉中幸存有一定的运气,但某些群体比其他群体更可能生存,例如妇女,儿童和上层阶级。

在这个项目中,我们被要求完成对可能生存的人群的分析,并使用机器学习工具来预测哪些乘客可以幸免于悲剧。

数据读取与检查

首先导入与数据处理相关的库,并检查版本与数据文件夹

#导入相关库

import sys

print("Python version: {}". format(sys.version))

import pandas as pd

print("pandas version: {}". format(pd.__version__))

import matplotlib

print("matplotlib version: {}". format(matplotlib.__version__))

import numpy as np

print("NumPy version: {}". format(np.__version__))

import scipy as sp

print("SciPy version: {}". format(sp.__version__))

import IPython

from IPython import display

print("IPython version: {}". format(IPython.__version__))

import sklearn

print("scikit-learn version: {}". format(sklearn.__version__))

import random

import time

#忽略警号

import warnings

warnings.filterwarnings('ignore')

print('-'*25)

# 将三个数据文件放入主目录下

from subprocess import check_output

print(check_output(["ls"]).decode("utf8"))

接下来导入与建模预测相关的库

#导入建模相关库

from sklearn import svm, tree, linear_model, neighbors, naive_bayes, ensemble, discriminant_analysis, gaussian_process

from xgboost import XGBClassifier

from sklearn.preprocessing import OneHotEncoder, LabelEncoder

from sklearn import feature_selection

from sklearn import model_selection

from sklearn import metrics

import matplotlib as mpl

import matplotlib.pyplot as plt

import matplotlib.pylab as pylab

import seaborn as sns

from pandas.tools.plotting import scatter_matrix

#可视化相关设置

%matplotlib inline

mpl.style.use('ggplot')

sns.set_style('white')

pylab.rcParams['figure.figsize'] = 12,8

现在来读取并对数据做一个初步的预览,我们使用info()和sample()函数来快速概览变量数据类型。

data_raw = pd.read_csv('train.csv')

data_val = pd.read_csv('test.csv')

data1 = data_raw.copy(deep = True)

data_cleaner = [data1, data_val]

print (data_raw.info())

data_raw.sample(10)

RangeIndex: 891 entries, 0 to 890

Data columns (total 12 columns):

PassengerId 891 non-null int64

Survived 891 non-null int64

Pclass 891 non-null int64

Name 891 non-null object

Sex 891 non-null object

Age 714 non-null float64

SibSp 891 non-null int64

Parch 891 non-null int64

Ticket 891 non-null object

Fare 891 non-null float64

Cabin 204 non-null object

Embarked 889 non-null object

dtypes: float64(2), int64(5), object(5)

memory usage: 83.6+ KB

None

存活变量是我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值