CART決策樹實戰

2021-10-06 07:11:01 字數 1907 閱讀 1073

# 匯入相關包

import numpy as np

import pandas as pd

# 匯入資料集

from sklearn.datasets import load_boston

# 匯入模型

from sklearn.tree import decisiontreeregressor

from sklearn.tree import decisiontreeclassifier

# 資料分割包

from sklearn.model_selection import train_test_split

# 評價包

from sklearn.metrics import mean_absolute_error

from sklearn.metrics import mean_squared_error

from sklearn.metrics import r2_score

from sklearn.metrics import accuracy_score

# 匯入資料集

data = load_boston(

)x = data.data

y = data.target

# 分割資料、測試集為總數的1/4

train_x, test_x, train_y, test_y = train_test_split(x, y, test_size=

0.25

)# 簡歷模型

dtr = decisiontreeregressor(

)# 訓練模型

dtr.fit(train_x, train_y)

# **

predict_y = dtr.predict(test_x)

# 評分

print

("mean_absolute_error:"

, mean_absolute_error(test_y, predict_y)

)print

("mean_squared_error:"

, mean_squared_error(test_y, predict_y)

)print

("r2_score:"

, r2_score(test_y, predict_y)

)

data = load_iris(

)x = data.data

y = data.target

train_x, test_x, train_y, test_y = train_test_split(x, y, test_size=

0.3,

random_state=33)

dtc = decisiontreeclassifier(

)dtc.fit(train_x, train_y)

predict_y = dtc.predict(test_x)

# 評分

print

("mean_absolute_error:"

, mean_absolute_error(test_y, predict_y)

)print

("mean_squared_error:"

, mean_squared_error(test_y, predict_y)

)print

("r2_score:"

, r2_score(test_y, predict_y)

)print

('accuracy_score:'

, accuracy_score(test_y, predict_y)

)

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...

決策樹之CART

本系列分享由三篇部落格組成,建議從前往後閱讀學習。決策樹之id3 決策樹之c4.5 決策樹之cart 前面我們講到了決策樹演算法id3,和c4.5。c4.5是在id3的基礎上發展而來的,c4.5還存在的缺陷有 1 c4.5不能解決回歸的問題。2 c4.5需要進行多個對數計算,效率比較低。3 對於離散...

決策樹(CART演算法)

分類問題中,假設有k個類,樣本點屬於第k類的概率為p kp k pk 則概率分布的基尼指數定義為 其中p kp k pk 表示選中的樣本屬於k kk類別的概率,則這個樣本被分錯的概率為 1 pk 1 p k 1 pk 對於給定的樣本集合d,其基尼指數為 這裡的c kc k ck 是d中屬於第k類的樣...