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