# coding=gbk
#使用Titanic数据集,通过特征筛选的方法一步步提升决策树的预测性能
import pandas as pd
from sklearn.cross_validation import train_test_split , cross_val_score
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn import feature_selection
import numpy as np
import pylab as pl
titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
#分离数据特征与预测目标
y = titanic['survived']
X = titanic.drop(['row.names','name','survived'],axis=1)
#对缺失的数据进行填充
X['age'].fillna(X['age'].mean(),inplace=True)
X.fillna('UNKNOW',inplace=True)
#分割数据
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
#类别型特征向量化
vec = DictVectoriz
#使用Titanic数据集,通过特征筛选的方法一步步提升决策树的预测性能
import pandas as pd
from sklearn.cross_validation import train_test_split , cross_val_score
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn import feature_selection
import numpy as np
import pylab as pl
titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')
#分离数据特征与预测目标
y = titanic['survived']
X = titanic.drop(['row.names','name','survived'],axis=1)
#对缺失的数据进行填充
X['age'].fillna(X['age'].mean(),inplace=True)
X.fillna('UNKNOW',inplace=True)
#分割数据
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=33)
#类别型特征向量化
vec = DictVectoriz