當前位置:成語大全網 - 書法字典 - 簡單明了的分類算法:OneR

簡單明了的分類算法:OneR

分類算法的目的是根據訓練集的特征預測新數據。當然,特征之間的聯系越多,最終的分類結果就應該越準確。但是有沒有壹種簡單的算法可以用很少的特征進行簡單的分類呢?這就是OneR算法。

OneR全稱:One Rule,顧名思義,就是規則的意思。也就是說,我們最終可以只根據訓練集中的壹個特征對數據進行分類。如果只使用壹種規則,顯然這種分類的準確性不會很高,但這種簡單的算法也可以在壹些特定的數據集中獲得更好的性能。

為了理解這種算法的工作原理,讓我們舉壹個簡單的例子:根據人的身高、眼睛大小和膚色的數據將人分類為男性或女性。這些數字不屬於特征類別,只是為了稍後介紹數據。

數量、身高、眼睛大小、膚色和性別

1 180正常白人男性

2 175年長的黑人男子

3 170正常黑人男性

4 170名老年黑人婦女

5 165正常白化女性

6 160年長的白人女孩

在上表中隨機寫入壹系列數據。讓我們介紹壹下基於這些數據的OneR算法。

由於OneR算法是根據壹個規則,即某個特征進行分類的,因此如何找到這個規則就顯得更加重要。

以上面的例子為例,我們有三個特征:身高、眼睛大小和膚色。身高屬於連續值的範疇,眼睛大小屬於離散數據:正常和大,膚色也是離散數據:白色和黑色。

首先,我們用壹個簡單的方法將其轉換為離散值,並將大於(或等於)平均高度的記錄為1,小於平均高度的記錄為0,因此當前數據是這樣的。

數量、身高、眼睛大小、膚色和性別

1 1正常白人男性

2 1年長的黑人

3 1正常黑人男性

4 1年長的黑人女孩

5 0名正常的白化病女性

6 0個年長的白人婦女

然後我們需要根據這些數據找到壹個可以用於分類的特征規則。這個特征是基於身高、眼睛大小和膚色嗎?

事實上,根據我們的生活常識,我們知道在這三個特征中,身高的可靠性相對較高。但是如何通過計算找到身高的特征呢?

如何找到分類的規則(特征)。

其實簡單想想,當然使用這個功能後,我們的除法結果正確率是最高的。我們需要進行壹些簡單的計算,以確保使用該特征的分類具有最高的準確性。因為只有最高的準確率才能得到更正確的分類結果,我們的任務可以轉化為尋找壹個特征,根據這個特征進行分類時才能得到最高的準確率。

但是,應該理解的是,壹個特征可能有多個特征值,因此要計算該特征的準確性,必須包括所有特征值。也就是說,該特征的精度是根據所有特征值計算的。對於某個特征對應的特征值,當然是選擇分類最多的壹個作為這個特征值的分類結果,然後根據這個特征值的分類結果計算錯誤的個數。最後,計算該特征的精度。

下面,分別計算上述樣本集中身高、眼睛大小和膚色的準確度。

身高。

我們可以看到身高* * *的特征有兩個特征值:0和1。

如果身高特征值為1,那麽滿足特征值的數據編號為{1,2,3,4},對應的分類為{男,男,男,女}。顯然,如果身高特征值為1,那麽在這個樣本集中,男生占3/4,女生占1/4。然後我們選擇分類結果最多的壹個作為身高特征值為1的分類結果,即性別為男性。所以現在我們可以簡單的認為如果身高特征值是1,我們可以簡單的認為性別是男性。但顯然,這個結論是錯誤的。該樣本集的錯誤數為1,因為當身高特征值為1時,有1個樣本的性別為女性,這與我們的結論不壹致。

如果高度特征值為0。那麽滿足特征值的數據號為{5,6},對應的分類為{女性,女性}。這個計算結果就比較明顯了。如果身高特征值為0,女生占2/2。然後我們選擇女性作為身高特征值為0的分類結果。也就是說,如果身高的特征值為0,我們認為性別為女性。這個結論可能是錯誤的,但在這個數據集中是正確的。

計算完高度的所有特征值後,就可以計算精度了。當身高特征值為0時,我們將其分類為女性,準確率為100%。當身高特征值為1時,我們將其歸類為男性,有壹個數據是錯誤的。因此,如果按照身高劃分,準確率為:5/6=0.833。

眼睛大小。

眼睛大小* * *的特征有兩個特征值:正常和大。

如果眼睛大小正常,則滿足特征值的數據編號為{1,3,5},對應的分類結果為{男,男,女}。同樣男生占2/3,女生占1/3,所以簡單認為如果眼睛大小正常,則認為性別為男性。同樣,在這個數據集中,這個結論的錯誤數是1,因為當前的特征值分類結果之壹是女性。

如果眼睛大小較大,則滿足特征值的數據編號為{2,4,6},對應的分類結果為{女性,女性,男性}。同樣女生占2/3,男生占1/3,所以簡單的認為如果眼睛比較大,性別就認為是女性。同樣,在這個數據集中,這個結論的錯誤數為1。

在計算了關於眼睛大小的所有特征值之後,可以計算精度。當眼睛大小正常時,我們將其歸類為男性,樣本集中的壹個數據是錯誤的。同樣,在大眼睛的情況下,將其劃分為女性,並且該結論在樣本集中的壹個數據中是錯誤的。因此,如果按照眼睛大小劃分,準確率為:4/6=0.667。

膚色。

膚色特征* * *有兩個特征值:黑色和白色。

如果膚色較深,滿足特征值的數據編號為{2,3,4},對應的分類結果為{男,男,女}。男生占2/3,女生占1/3。所以如果膚色黑,就簡單認為是男孩,這個結論的錯誤數是1。

如果膚色為白色,則滿足特征值的數據編號為{1,5,6},對應的分類結果為{男,女,女}。男生占1/3,女生占2/3。因此,如果膚色是白色的,則簡單地認為是女孩,此結論的錯誤數為1。

所以膚色的準確度是:4/6=0.667。

現在獲得了每個特征的精度。劃分高度的精度為:0.833;膚色和眼睛大小的準確度為0.667。所以我們用身高作為劃分特征。

也就是說,如果有新的數據,我們將僅通過查看身高的數據來進行分類。然而,分類器的精度需要通過使用測試數據來計算。我們計算的0.833只是基於訓練樣本集的準確性,只是為了找出用於分類的規則。