c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。
該演算法是有監督學習型別的。
計算公式:
樣本資料:
outlook
temperature
humidity
windy
playgolf?
sunny
8585
false
nosunny
8090
true
noovercast
8386
false
yesrainy
7096
false
yesrainy
6880
false
yesrainy
6570
true
noovercast
6465
true
yessunny
7295
false
nosunny
6970
false
yesrainy
7580
false
yessunny
7570
true
yesovercast
7290
true
yesovercast
8175
false
yesrainy
7191
trueno
實現:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
''' @author : 德意志之力
@contact :[email protected]
@file : ******c4.5.py
@time : 17/5/16 下午10:57
'''
from sklearn.tree import decisiontreeclassifier
from sklearn.cross_validation import cross_val_score
import pandas as pd
import numpy as np
def createtraintree():
#pandas讀取csv資料
data_df = pd.read_csv("data.csv")
#資料分類值
target = np.array(data_df['play golf?'])
data_df = data_df[['outlook','temperature','humidity','windy']]
#將字元型別轉為int
data_df.outlook[data_df.outlook == 'sunny'] = 0
data_df.outlook[data_df.outlook == 'overcast'] = 1
data_df.outlook[data_df.outlook == 'rainy'] = 2
#資料屬性
data =
for line in range(len(data_df)):
return data,target
def treelearn():
data , target = createtraintree()
#例項決策樹類
dt = decisiontreeclassifier()
#擬合決策樹模型
dt.fit(data,target)
#**樣本類別值
print dt.predict([0, 65, 76, false])
#做交叉檢驗
print cross_val_score(dt,data,target,cv = 5)
treelearn()
如有問題,歡迎指正。 資料探勘入門演算法C4 5
c4.5是在id3演算法的基礎上發展而來的,是對id3演算法的一種優化。其採用資訊增益率作為選擇 屬性的標準,而id3是以資訊增益為標準。這是根本的不同之處,也是優化所在。c4.5相對於id3的改進包括 通過資訊增益率選擇 屬性,克服了id3演算法中通過資訊增益傾向於選擇擁有多個屬性值的屬性作為 屬...
C4 5演算法(資料探勘經典分類演算法)
統計好樣本集s,屬性集a,分別求出屬性集中每個屬性的資訊增益率,選中增益率最大的屬性p,假設p總有n種情況的取值 連續變數要離散化 那麼分別統計好第i種情況時樣本集si和除去p的屬性集pi,生成相對應的子樹。主要重點有 資訊增益率的計算 事後剪枝使用悲觀錯誤率衡量 樹的建造 分治思想 等。1 讀取檔...
資料探勘學習筆記(二)C4 5
一 概念 c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。是有監督學習型別的演算法,即 給定乙個資料集,所有例項都用一組屬性 引數來描述,每個例項都僅屬於乙個類別,通過在給定資料集上學習得到乙個從屬性到類別的對映,進 而可以利用這個對映來分類新的未知例項。二 演算法過程 首...