資料分析 資料探勘 決策樹

2021-10-04 20:31:44 字數 2973 閱讀 5451

0.決策樹整理

0.0 文章索引

2.書籍案例介紹:《資料探勘——你必須知道的32個經典案例(第2版)》;

3.其他。

1.python-sklearn使用

1.1 過程描述

1.1.1 核心步驟

1.1.2 程式流程解釋

1.2 **

# 匯入模組

from sklearn import tree

from sklearn.datasets import load_wine

from sklearn.model_selection import train_test_split

import graphviz

defmain()

: wine = load_wine(

)# wine.data 特徵資料

# wine.target 標籤資料

# wine.feature_names 特徵列名

# wine.target_names 標籤列名

"""將資料轉為pandas中的dataframe型別

import pandas as pd

pd.concat([pd.dataframe(wine.data), pd.dataframe(wine.target)], axis=1)

"""x_train, x_test, y_train, y_test = train_test_split(wine.data, wine.target, test_size=

0.3, random_state=1)

print

(y_train.dtype)

# x_train.shape 訓練集的行列大小

""" sklearn呼叫三部曲:1.初始化模型;2.訓練模型;3.獲取結果;

需要注意的是:

1.決策樹的生成具有一定的隨機性,因此可以通過random_state以及splitter調整隨機性;

2.剪枝:通過設定max_depth(限定決策樹最深層數),

min_samples_leaf(限定屬於葉子節點的樣本量)

以及min_samples_split(限定分出分支的樣本量條件)

等引數進行;

"""clf = tree.decisiontreeclassifier(criterion=

"entropy"

, random_state=30,

splitter=

"random"

, max_depth=3)

# 初始化分類器 clf=classifier

clf = clf.fit(x_train, y_train)

# 訓練分類器

score = clf.score(x_test, y_test)

# 匯出結果,返回accuracy(測試集上的表現)

# 也可以輸出在訓練集上的表現:score_train = clf.score(x_train, y_train)

print

(score)

""" 畫決策樹:

通過graphviz配合tree.export_graphviz()函式使用

函式的引數分別為clf訓練好的模型,feature_nmes特徵名稱和class_names標籤名稱;

以及rounded(節點形狀是否圓角)和filled(節點顏色,顏色越淺不純度越高)引數設定為true或false

"""dot_data = tree.export_graphviz(clf,

feature_names=wine.feature_names,

class_names=wine.target_names,

filled=

true

, rounded=

true

) graph = graphviz.source(dot_data)

graph.view(

)"""

輸出特徵的重要性:

feature_importances_屬性返回特徵的重要性(數值越大越重要),對於決策樹來說有可能有些特徵沒有被用到;

list()函式使得其可以直接print輸出

zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表;

"""# clf.feature_importances_

print

(list

(zip

(wine.feature_names, clf.feature_importances_)))

pass

if __name__ ==

'__main__'

: main(

)

1.3案例練習

import numpy as np

import matplotlib.pyplot as plt

from matplotlib.colors import listedcolormap

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import standardscaler

from sklearn.datasets import make_moons, make_circles, make_classification

from sklearn.tree import decisiontreeclassifier

2.《資料探勘——你必須知道的32個經典案例(第2版)》

2.1 原文整理

資料分析 決策樹

引言高二 1 班的小明同學和小方同學為了準備即將進行的校園羽毛球大賽,準備近乙個月的時間去練習打球。不過,並不是每一天都適合練球。通常,小明和小方需要考慮一些因素來決定今天是否適合打羽毛球,比如 今天是否有場地 若沒有室內場地,就只能選擇室外場地 如果是要在室外練習的話,天氣是否合適,是否會颳風等,...

資料探勘 決策樹

分類是資料探勘的乙個非常重要的主題,現實中的很多問題都和分類密切相關。我們日常正是因為有了分類技巧,才能對不同的事物 場景採取不同的應對方式。資料分類可以看做是乙個兩步的過程。第一步是學習過程,我們根據所需要分析的問題和資料建立乙個分類器classifier。用我們選擇好的訓練元組對分類器進行訓練,...

資料探勘 決策樹

決策樹是以樹狀結構表示資料分類的結果 非葉子結點代表測試的條件。分支代表測試的結果 1.資訊熵 informationentropy 是度量樣本集合純度最常用的一種指標。2.基尼係數 gini 是度量樣本集合不確定性指標。基尼指數與熵可近似看做是統一概念,都是越大,確定性越差 基尼指數和資訊熵的影象...