《資料探勘導論》學習筆記(二)

2021-07-31 02:10:55 字數 2817 閱讀 2048

資料探勘導論 第四章

分類:基本概念、決策樹與模型評估

分類的定義:分類任務就是通過學習得到乙個目標函式f,把每個屬性集x對映到乙個預先定義的類標號y。

目標函式也稱為分類模型,有兩個主要目的:1、描述性建模 2、**性建模

分類適用於**兩元或標稱型別的資料集,即離散的資料集。

決策樹分類法

選擇最佳劃分的度量通常都是根據劃分後子女結點不純性的程度。不純的程度越低,類分布就越傾斜。

不純性度量的例子包括:1、熵  2、基尼係數  3、分類差錯率

模型的過分擬合

分類模型的誤差大致分為兩種:訓練誤差泛化誤差。訓練誤差又叫再代入誤差或表現誤差,是在訓練記錄上誤分類樣本樣本比例,

而泛化誤差是模型在未知記錄上的期望誤差。

乙個好的分類模型要具備低訓練誤差和低泛化誤差。

對訓練資料擬合太好的模型,其泛化誤差可能比具有較高訓練誤差的模型高,這就造成模型過分擬合。

導致模型過分擬合的原因有:1、雜訊記錄導致的過分擬合 2、缺乏代表性樣本導致的過分擬合

例題:現在有一些資料,有三個屬性值,分別是權重,體重,身高,要根據這些資料,用決策樹的演算法訓練。

1.5 50 thin

1.5 60 fat

1.6 40 thin

1.6 60 fat

1.7 60 thin

1.7 80 fat

1.8 60 thin

1.8 90 fat

1.9 70 thin

1.9 80 fat

實現**

#

coding:utf-8

import

numpy as np

import

scipy as sp

from sklearn import

tree

from sklearn.metrics import

precision_recall_curve

from sklearn.metrics import

classification_report

from sklearn.cross_validation import

train_test_split

''''' 資料讀入

'''data =

labels =

with open(

"1.txt

") as ifile:

for line in

ifile:

tokens = line.strip().split('')

for tk in tokens[:-1]])

#print ([float(tk) for tk in tokens[:-1]])

#print (tokens[-1])

x =np.array(data)

#print x

labels =np.array(labels)

#print labels

y =np.zeros(labels.shape)

#print y

''''' 標籤轉換為0/1

'''y[labels == '

fat'] = 1

''''' 拆分訓練資料與測試資料

'''x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2)

''''' 使用資訊熵作為劃分標準,對決策樹進行訓練

'''clf = tree.decisiontreeclassifier(criterion='

entropy')

print

"*****===clf*****====

"print

(clf)

clf.fit(x_train, y_train)

''''' 把決策樹結構寫入檔案

'''with open(

"tree.dot

", 'w'

) as f:

f = tree.export_graphviz(clf, out_file=f)

''''' 係數反映每個特徵的影響力。越大表示該特徵在分類中起到的作用越大

'''print

"*****clf.feature_importances_*****=

"print

(clf.feature_importances_)

'''''測試結果的列印

'''answer =clf.predict(x_train)

print

(x_train)

print

(answer)

print

(y_train)

print(np.mean(answer ==y_train))

'''''準確率與召回率

'''precision, recall, thresholds =precision_recall_curve(y_train, clf.predict(x_train))

answer = clf.predict_proba(x)[:, 1]

print

"***************==

"print(classification_report(y, answer, target_names=['

thin

', '

fat']))

資料探勘導論學習筆記(二)

第三章 探索資料 匯 計 量化的 如均值和標準差 用單個數或數的小集合捕獲可能很大的值集的各種特徵。頻率 具有屬性值vi的物件數 總數 分類屬性的眾數就是具有最高頻率的值。百分位數 給定乙個有序的或連續的屬性x和0到100之間的數p,第p個百分位數xp是乙個x值,似的x的p 的觀測值小於xp。值集位...

《資料探勘導論》學習筆記(二)

資料探勘導論 第四章 分類 基本概念 決策樹與模型評估 分類的定義 分類任務就是通過學習得到乙個目標函式f,把每個屬性集x對映到乙個預先定義的類標號y。目標函式也稱為分類模型,有兩個主要目的 1 描述性建模 2 性建模 分類適用於 兩元或標稱型別的資料集,即離散的資料集。決策樹分類法 選擇最佳劃分的...

《資料探勘導論》學習筆記

寫在前面 粗體字為書中定義,紅色字型為筆者認為的重點詞。第一章 緒論 1.資料探勘 在大型資料儲存庫中,自動地發現有用資訊的過程。3.資料探勘要解決的問題 可伸縮,高維性,異種資料和複雜資料,資料的所有權和分布,非傳統的分析。4.資料探勘任務 任務,描述任務。四種主要資料探勘任務 1 建模,有兩類 ...