泰坦尼克生存概率分析,決策樹的應用

2021-09-01 10:53:08 字數 1664 閱讀 3209

決策樹(decision tree)是乙個樹結構(可以是二叉樹非二叉樹)。其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特徵屬性,並按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。

可以看到,決策樹的決策過程非常直觀,容易被人理解。目前決策樹已經成功運用於醫學,製造產業,天文學,分支生物學以及商業等諸多領域

import pandas as pd

from sklearn.ensemble import randomforestclassifier

from sklearn.feature_extraction import dictvectorizer

from sklearn.model_selection import train_test_split, gridsearchcv

from sklearn.tree import decisiontreeclassifier

def decision():

# 載入檔案,得到資料

# 決策樹對鐵達尼號進行**生死

tian = pd.read_csv('titanic.csv')

# 處理資料,找出特徵值和目標值

x = tian[['pclass','age','***']]

y = tian['survived']

# print(x)

# 缺失值處理

x['age'].fillna(x['age'].mean(),inplace=true)

# 分割資料集到訓練集和測試集

x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25)

dict = dictvectorizer(sparse=false)

x_train = dict.fit_transform(x_train.to_dict(orient="records"))

print(x_train)

x_test = dict.transform(x_test.to_dict(orient="records"))

# 用決策樹進行**

dec = decisiontreeclassifier()

dec.fit(x_train,y_train)

# **準確率

print(dec.predict(x_test))

print("**的準確率:",dec.score(x_test,y_test))

rf = randomforestclassifier(n_jobs=-1)

param =

# 網路搜尋與交叉驗證

gc = gridsearchcv(rf,param_grid=param,cv=2)

gc.fit(x_train,y_train)

print("準確率:",gc.score(x_test,y_test))

return none

if __name__ == '__main__':

decision()

Kaggle滑水 泰坦尼克之災(決策樹)

本文以kaggle新手習題 titanic machine learning from disaster為場景開展實驗,以此熟悉kaggle平台。本文的原始碼託管於我的github practice of machine learning code kaggle titanic 歡迎檢視交流。tit...

ML 決策樹 鐵達尼號

1.資料載入 2.資料特徵 3.資料預處理 均值填充,最大值填充 4.特徵選擇 5.構造id3樹 6.決策樹訓練 7.決策樹 8.準確率輸出 import pandas as pd from sklearn.feature extraction import dictvectorizer from ...

資料分析 決策樹演算法 決策樹的概念

顧名思義,決策樹將以樹狀結構表現出來,被用來輔助作出決策。具體結合例子來說,我們平時做決策時大多會伴隨著層層的選擇,比如找房子的時候,會考慮離工作 上課地點的距離 大小和 光照等等因素。如果乙個房子通勤快 低 光照好 空間大 雖然不太可能存在,但是只要存在這種房子 我們一定會作出 買 租 的決策。將...