Python資料探勘建模 chapter 2決策樹

2021-08-10 07:37:25 字數 1620 閱讀 7687

2.決策樹演算法分析

id3演算法

在各節點上用資訊增益法作為屬性選擇標準,只適合離散的描述屬性

c4.5演算法

用資訊增益率選擇節點屬性,可處理離散的描述屬性,連續的描述屬性

cart演算法

有效的非引數分類和回歸方法,終結點為連續變數時,為回歸樹,終結點為分類變數,為分類樹

(常見的決策樹演算法還有:sliq,sprint,public)

id3基於資訊熵來選擇最佳測定屬性,選擇有最大資訊增益值的屬性為測試屬性,樣本集的劃分依照測試屬性進行。

#-*- coding: utf-8 -*-

import pandas as pd

inputfile = 'sales_data.xls'

data = pd.read_excel(inputfile, index_col = u'num') #匯入資料

#資料是類別標籤,要將它轉換為資料

data[data == u'good'] = 1

data[data == u'yes'] = 1

data[data == u'high'] = 1

data[data != 1] = -1

x = data.iloc[:,:3].as_matrix().astype(int)

y = data.iloc[:,3].as_matrix().astype(int)

print data

from sklearn.tree import decisiontreeclassifier as dtc

dtc = dtc(criterion='entropy') #建立決策樹模型,基於資訊熵

dtc.fit(x, y) #訓練模型

#匯入相關函式,視覺化決策樹。

from sklearn.tree import export_graphviz

x = pd.dataframe(x)

from sklearn.externals.six import stringio

x = pd.dataframe(x)

with open("tree.dot", 'w') as f:

f = export_graphviz(dtc, feature_names = x.columns, out_file = f)

資料例舉:

numwealth

weekend

p_sale

num_sale

1bad

yesyes

high

2bad

yesyes

high

3bad

yesyes

high

4bad

noyes

high

5bad

yesyes

high

6bad

noyes

high

7bad

yesno

high

8good

yesyes

high

9good

yesno

high

10good

yesyes

high

Python資料分析與挖掘實戰 挖掘建模

常用的分類與 演算法 1回歸模型分類 1線性回歸 自變數因變數線性關係,最小二乘法求解 2非線性回歸 自變數因變數非線性關係,函式變換為線性關係,或非線性最小二乘方法求解 3logistic回歸 因變數一般有1和0兩種取值,將因變數的取值範圍控制再0 1範圍內 4嶺回歸 自變數之間具有多重共線性 5...

資料探勘建模過程概覽

從大量資料 包括文字 中挖掘出隱含的 未知的 對決策有潛在價值的關係 模型和趨勢,並用這些知識和規律建立用於決策支援的模型,提供 性決策支援的方法 工具和過程,就是資料探勘 它利用各種分析工具在大量資料中尋找其規律和發現模型與資料之間關係的過程,是統計學 資料庫技術和人工智慧技術的綜合。包含利用分類...

資料探勘 建模調參

線性回歸,模型決策樹模型 gbdt模型,xgboost模型 lightgbm模型 簡單的線性回歸,可以用sklearn from sklearn.linear model import linearregression model linearregression normalize true mo...