利用DecisionTree对titanic数据进行分类
来源:互联网 发布:iqunix 知乎 编辑:程序博客网 时间:2024/06/05 17:27
import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report
titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
#print(titanic.head())检查数据是否读入成功
print('原始数据信息如下:\n')
titanic.info()
print('\n'*2)
#特征选取
X = titanic[['pclass','age','sex']]
y = titanic['survived']
print('特征选取后的数据信息如下:\n')#对选出来的数据进行查看
X.info()
print('\n'*2)
#对空白的age列进行填充,因为中位数和平均数对模型的影响最小,所以使用平均数进行填充
X['age'].fillna(X['age'].mean(),inplace=True)
print('经过平均值填充以后的数据信息如下:\n')
X.info()
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='record'))
print(vec.feature_names_)#经过特征转换以后,我们发现凡是类别形的特征都单独剥离出来,数值型的则保持不变
X_test = vec.transform(X_test.to_dict(orient='record'))#对测试数据进行特征转换
dtc = DecisionTreeClassifier()
dtc.fit(X_train,y_train)
y_predict = dtc.predict(X_test)
print('The Accuracy of DecisionTree is,',dtc.score(X_test,y_test))
print(classification_report(y_test,y_predict,target_names=['died','survived']))
from sklearn.cross_validation import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report
titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
#print(titanic.head())检查数据是否读入成功
print('原始数据信息如下:\n')
titanic.info()
print('\n'*2)
#特征选取
X = titanic[['pclass','age','sex']]
y = titanic['survived']
print('特征选取后的数据信息如下:\n')#对选出来的数据进行查看
X.info()
print('\n'*2)
#对空白的age列进行填充,因为中位数和平均数对模型的影响最小,所以使用平均数进行填充
X['age'].fillna(X['age'].mean(),inplace=True)
print('经过平均值填充以后的数据信息如下:\n')
X.info()
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='record'))
print(vec.feature_names_)#经过特征转换以后,我们发现凡是类别形的特征都单独剥离出来,数值型的则保持不变
X_test = vec.transform(X_test.to_dict(orient='record'))#对测试数据进行特征转换
dtc = DecisionTreeClassifier()
dtc.fit(X_train,y_train)
y_predict = dtc.predict(X_test)
print('The Accuracy of DecisionTree is,',dtc.score(X_test,y_test))
print(classification_report(y_test,y_predict,target_names=['died','survived']))
阅读全文
0 0
- 利用DecisionTree对titanic数据进行分类
- 利用随机森林和梯度替身决策树对titanic数据进行分类,并对结果进行分析
- 利用R语言对Titanic数据test.csv进行处理
- 对titanic.csv数据进行预测生死
- 利用贝叶斯分类器对fetch_20newsgroups数据集进行分类
- 对数据进行分类
- 利用BP神经网络对语音数据进行分类
- 利用SVC(Support Vector Classifier)对digits数据进行分类
- [数据挖掘]利用Titanic学习特征工程
- caffe对自定义数据集进行分类
- 数据分类流程(以titanic分类为例)
- 跪求!利用深度信念网络工具箱对凯斯西出大学轴承数据进行分类错误率无法降低怎么办
- 利用dataview对datagridview进行数据绑定
- 利用临时变量对数据进行累计
- 利用VLOOKUP()函数进行数据比对
- 利用pandas对数据进行基本清洗
- 利用MapReduce对HBase数据进行统计分析
- 利用ORACLE对数据权限进行控制
- python json 爬京东商品评论
- c语言———预处理,结构体
- Eclipse中怎样设置字体大小和修改注释字体的颜色
- 记录一个坑——SpannableStringBuilder
- [bzoj1854][二分图匹配]游戏
- 利用DecisionTree对titanic数据进行分类
- linux中合并多个文本文件以及对数据的处理
- LaTex(PART XIX)插入代码并且高亮显示
- 打印九九乘法表
- FPGA时序优化的几种方法
- HTTPS与SSL(一)
- 构造函数的方法和属性会复制给实例,但是原型中的方法和属性都不存在于实例中
- 初识数据结构
- $resource的精心总结