資料探勘 C4 5演算法

2021-08-01 04:46:30 字數 2326 閱讀 2794

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演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。是有監督學習型別的演算法,即 給定乙個資料集,所有例項都用一組屬性 引數來描述,每個例項都僅屬於乙個類別,通過在給定資料集上學習得到乙個從屬性到類別的對映,進 而可以利用這個對映來分類新的未知例項。二 演算法過程 首...