2 1 1 5 決策樹(分類)

2021-09-11 18:00:39 字數 1510 閱讀 3065

import pandas as pd

titanic=pd.read_csv('')

觀察前幾行的資料,發現資料種類各異,有數值型,類別型,還有缺失資料

titanic.head()
#檢視資料的統計特性,1313條乘客資訊

titanic.info()

#資料預處理

#特徵選擇

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

y=titanic['survived']

#檢視特徵統計資訊

x.info()

檢視特徵統計資訊,發現age列只有633個,需要補充完整,***,pclass 兩個資料列都是類別型變數,需要轉化為數值型

#使用平均數填充age列的na

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

x.info()

#資料分割

from sklearn.cross_validation import train_test_split

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

類別變數轉化為數值型,轉換特徵後發現,凡是類別型變數的特徵都單獨剝離出來,獨成一列特徵

from sklearn.feature_extraction import dictvectorizer

vec=dictvectorizer(sparse=false)

x_train=vec.fit_transform(x_train.to_dict(orient='record'))

print(vec.feature_names_)

#對測試資料的特徵進行轉換

x_test=vec.fit_transform(x_test.to_dict(orient='record'))

#決策樹分類,**

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))

print(classification_report(y_test,y_predict,target_names=['died','survived']))

決策樹分類

一 分類的概念 分類是一種重要的資料分析形式,分類方法用於 資料物件的離散類別,而 則用於 資料物件的連續取值 資料分類是兩個階段的過程,包括學習階段和分類階段 學習階段 訓練階段 就是建立描述預先定義的資料類或概念集的分類器 而訓練集是有資料庫元祖和與他們相互關聯的類標號組成 類標號屬性是離散值和...

分類決策樹

決策樹是基於特徵對例項進行分類的樹形結構。決策樹學習演算法包括 特徵選擇 樹的生成和樹的剪枝。2.1.id3 1 針對當前的集合,計算每個特徵的資訊增益 2 選擇資訊增益最大的特徵作為當前節點的決策決策特徵 3 根據特徵不同的類別劃分到不同的子節點 比如年齡特徵有青年,中年,老年,則劃分到3顆子樹 ...

分類決策樹

決策樹是乙個簡單易用的機器學習演算法,具有很好的實用性。在風險評估 資料分類 專家系統中都能見到決策樹的身影。決策樹其實是一系列的if then規則的集合,它有可讀性良好,分類速度快等優點。把決策樹看成是一些if then規則的集合,在每一層樹上根據屬性的值判斷走勢,至到遇到葉節點,葉節點對應的就是...