決策樹 分類 回歸

2021-09-02 18:30:07 字數 2010 閱讀 5475

決策樹,主要用來分類和回歸

一、首先看下分類決策樹

#載入鳶尾花資料集

from sklearn.datasets import load_iris

iris = load_iris()

x, y = iris.data, iris.target

features = iris.feature_names

#載入交叉驗證莫模組

from sklearn.cross_validation import cross_val_score

from sklearn.cross_validation import kfold

crossvalidation = kfold(n=x.shape[0], n_folds=5, shuffle=true, random_state=1)

#載入決策樹

結果顯示最優方案為4層,即4個分叉的樹

為優化結果,讓分類方案更加簡潔,可以設定樹節點最小樣本數。

tree_classifier = tree.decisiontreeclassifier(min_samples_split=30, min_samples_leaf=10, random_state=0)

tree_classifier.fit(x,y)

score = np.mean(cross_val_score(tree_classifier, x, y, scoring='accuracy', cv=crossvalidation, n_jobs=1))

print ('accuracy: %.3f' % score)

結果如下:精準度為0.913,且只有2層,

二、回歸決策樹

#構建回歸樹

#載入boston資料集

from sklearn.datasets import load_boston

boston = load_boston()

x, y = boston.data, boston.target

features = boston.feature_names

#使用回歸決策樹

from sklearn.tree import decisiontreeregressor

regression_tree = tree.decisiontreeregressor(min_samples_split=30, min_samples_leaf=10, random_state=0)

regression_tree.fit(x,y)

score = np.mean(cross_val_score(regression_tree, x, y, scoring='neg_mean_squared_error', cv=crossvalidation, n_jobs=1))

print('mean squared error: %.3f' % abs(score))

均方差僅有11.4,效果比較好。

決策樹(分類與回歸)

首先我們要知道,決策樹是根據訓練集構造乙個樹結構,每個分叉相當於一次判斷,每個葉子節點就是模型的輸出。如下圖所示 以輸入特徵為離散值的分類決策樹為例,周志華老師 機器學習 給出的演算法偽 決策樹分類演算法選擇最優屬性演算法常用資訊增益法。首先了解資訊熵,它的公式如下 e nt d k 1 y pkl...

決策樹 決策樹引數介紹(分類和回歸)

前面總結了資訊熵,資訊增益和基尼資訊的定義,以及決策樹三大演算法的原理及迭代過程,今天介紹下python中機器學習sklearn庫中決策樹的使用引數 決策樹既可以做分類,也可以做回歸,兩者引數大體相近,下面會先介紹分類,再對回歸不一樣的引數做單獨說明 1 criterion 特徵選取方法,可以是gi...

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...