數據挖掘之DecisionTreeClassifier決策樹

用決策樹DecisionTreeClassifier的數據挖掘算法來經過三個參數,Pclass,Sex,Age,三個參數來求取乘客的獲救率。算法

分爲三大步:函數

一,建立決策樹DecisionTreeClassifier 對象spa

二,對象調用fit()函數,訓練數據,創建模型orm

三,對象調用predict()函數,對須要預測的數據,預測。對象

代碼以下:ci

 
import numpy as np
import pandas as pd
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier

def Titanic_survived():
df = pd.read_csv('Titanic.csv')#獲取信息表
#nan替換爲0
df.fillna(df['Age'].mean(),inplace = True)


dict_train = df.loc[:,['Pclass','Age','Sex']].to_dict(orient='record')
dict_target = pd.DataFrame(df['Survived'],columns=['Survived']).to_dict(orient='record')

#訓練數據字典向量化
dv_train = DictVectorizer(sparse=False)
x_train = dv_train.fit_transform(dict_train)

#目標數據字典向量化,將字符串變成數字
dv_target = DictVectorizer(sparse=False)
y_target = dv_target.fit_transform(dict_target)



#建立訓練模型並訓練
d_tree = DecisionTreeClassifier()#第一步,建立決策樹對象
d_tree.fit(x_train,y_target)#第二步,決策樹對象d_tree調用fit函數,訓練數據創建模型

data_predict = {
'Pclass':'Bonnell',
'Age':60,
'Sex': 'female'

}

x_data = dv_train.transform(data_predict)
#第三步,決策樹對象d_tree,調用predict()函數,預測結果
print(dv_target.inverse_transform(d_tree.predict(x_data).reshape(-1,1)))Titanic_survived()
相關文章
相關標籤/搜索