Python 决策树 泰坦尼克号乘客是否生还决策模型
与网上的其他内容均一样
import pandas as pd
titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
titanic.head()
row.names | pclass | survived | name | age | embarked | home.dest | room | ticket | boat | sex | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1st | 1 | Allen, Miss Elisabeth Walton | 29.0000 | Southampton | St Louis, MO | B-5 | 24160 L221 | 2 | female |
1 | 2 | 1st | 0 | Allison, Miss Helen Loraine | 2.0000 | Southampton | Montreal, PQ / Chesterville, ON | C26 | NaN | NaN | female |
2 | 3 | 1st | 0 | Allison, Mr Hudson Joshua Creighton | 30.0000 | Southampton | Montreal, PQ / Chesterville, ON | C26 | NaN | (135) | male |
3 | 4 | 1st | 0 | Allison, Mrs Hudson J.C. (Bessie Waldo Daniels) | 25.0000 | Southampton | Montreal, PQ / Chesterville, ON | C26 | NaN | NaN | female |
4 | 5 | 1st | 1 | Allison, Master Hudson Trevor | 0.9167 | Southampton | Montreal, PQ / Chesterville, ON | C22 | NaN | 11 | male |
titanic.info()
X = titanic[['pclass', 'age', 'sex']]
y = titanic['survived']
X.info()
X.head()
# 使用均值对AGE进行插值
X['age'].fillna(X['age'].mean(), inplace=True)
X.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1313 entries, 0 to 1312
Data columns (total 3 columns):
pclass 1313 non-null object
age 1313 non-null float64
sex 1313 non-null object
dtypes: float64(1), object(2)
memory usage: 30.9+ KBD:\Program Files\Anaconda35\lib\site-packages\pandas\core\generic.py:3660: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrameSee the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copyself._update_inplace(new_data)
# 数据分割
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state=33)
X_train.head()
X_train.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 984 entries, 1086 to 1044
Data columns (total 3 columns):
pclass 984 non-null object
age 984 non-null float64
sex 984 non-null object
dtypes: float64(1), object(2)
memory usage: 30.8+ KB
from sklearn.feature_extraction import DictVectorizer
# 原文 vec = DictVectorizer(sparse=False) 报错
vec = DictVectorizer()X_train = vec.fit_transform(X_train.to_dict(orient = 'record'))
X_test = vec.transform(X_test.to_dict(orient = 'record'))
#X_train.to_dict(orient='record')
vec.feature_names_
['age', 'pclass=1st', 'pclass=2nd', 'pclass=3rd', 'sex=female', 'sex=male']
from sklearn.tree import DecisionTreeClassifier
dtc = DecisionTreeClassifier()
dtc.fit(X_train, y_train)
y_predict = dtc.predict(X_test)
from sklearn.metrics import classification_report
print(dtc.score(X_test, y_test))
0.781155015198
print(classification_report(y_predict, y_test, target_names=['died', 'survived']))
precision recall f1-score supportdied 0.91 0.78 0.84 236survived 0.58 0.80 0.67 93avg / total 0.81 0.78 0.79 329
Python 决策树 泰坦尼克号乘客是否生还决策模型相关推荐
- 决策树模型之泰坦尼克号乘客是否生还预测
泰坦尼克号乘客数据查验 import pandas as pd #利用pandas的read_csv模块直接从互联网收集泰坦尼克号乘客数据 titanic = pd.read_csv('http:// ...
- 'python program'.count('p')的值是_如何用Python分析泰坦尼克号生还率?
原标题:如何用Python分析泰坦尼克号生还率? 1912年当时世界上最大的豪华客轮泰坦尼克号在处女航中撞上冰山沉没,船上船员及乘客共有2224人,只有710人生还.当灾难突然降临时,所有人的生死瞬间 ...
- ML之RFXGBoost:基于RF/XGBoost(均+5f-CrVa)算法对Titanic(泰坦尼克号)数据集进行二分类预测(乘客是否生还)
ML之RF&XGBoost:基于RF/XGBoost(均+5f-CrVa)算法对Titanic(泰坦尼克号)数据集进行二分类预测(乘客是否生还) 目录 输出结果 比赛结果 设计思路 核心代码 ...
- ML之RFXGBoost:分别基于RF随机森林、XGBoost算法对Titanic(泰坦尼克号)数据集进行二分类预测(乘客是否生还)
ML之RF&XGBoost:分别基于RF随机森林.XGBoost算法对Titanic(泰坦尼克号)数据集进行二分类预测(乘客是否生还) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 ...
- 机器学习中的特征选择——决策树模型预测泰坦尼克号乘客获救实例
在机器学习和统计学中,特征选择(英语:feature selection)也被称为变量选择.属性选择或变量子集选择.它是指:为了构建 模型而选择相关特征(即属性.指标)子集的过程.使用特征选择技术 ...
- 泰坦尼克号上的乘客是否生还的预测分析
1 本文是以<Python机器学习及实践 从零开始通往kaggle竞赛之路>为参考书籍进行的实践 通过随机分类模型以及XGBoost模型进行泰坦尼克号上的乘客是否生还的预测分析 2 实验代 ...
- gini系数 决策树_案例7:机器学习--使用决策树实现泰坦尼克号乘客生存率预测...
一.决策树简介 1.1 什么是决策树? 决策树:是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果,本质是一颗由多个判断节点组成的树. ...
- 泰坦尼克号python数据分析统计服_泰坦尼克号乘客数据分析
本文是优达学城数据分析师 P2 项目的结课报告,主要探寻泰坦尼克号上的生还率和各因素(客舱等级.年龄.性别.上船港口等)的关系. # Imports import numpy as np import ...
- 泰坦尼克号乘客生存情况分析第一部分
第一部分 数据读取及探索性分析 哈喽,各位小伙伴.今晚是平安夜,就先祝大家平安夜快乐,永远平安健康.泰坦尼克号相信很多人都不陌生,今天呢,主要聊一聊之前做过的一个小项目,预测下泰坦尼克号乘客的生存情况 ...
最新文章
- ## 使用MapReduce程序完成相关数据预处理
- UVA 617 - Nonstop Travel(数论+暴力枚举)
- 曝!BAT大厂NLP学习进阶之法~
- python response重头开始_你必须学写 Python 装饰器的五个理由
- 【模型加速】TensorRT详解
- 90 后程序员开发“AI 吵架神器”,专治女朋友各种不服!
- 三个月可更改用户昵称两次
- IDEA 快速创建 SpringBoot 项目
- Focal loss原理解析
- 电路——三极管(一)辨认极性和判断类型(原理图中)
- 寻找开发区块链协议的完美编程语言
- 【ArcGIS 10.2新特性】地理数据(Geodatabase 和database)10.2 新特性
- Snmp4j编程简介之三:Snmp
- html动画人物走路,动画人物走路教程
- (转载)html在浏览器中的差异
- 如何在eclipse中导入Java项目文件包(方法截图详细步骤)
- 铝电解电容和钽电容区别
- html怎么搞一个微信图标,怎样在微信名字添加图标和微信名字里怎么加表情?什么系统都可以...
- Python笔记: 执行run.py文件
- 手机系统更新(提示已是最新版本),怎么升级更新