2018年4月6日 星期五

機器學習筆記 (7) - Python 練習: 適應性線性神經元模型 (Adaptive Linear Neuron; Adaline)

Python 練習: 適應性線性神經元模型 (Adaptive Linear Neuron; Adaline)

為了加深對演算法的了解
還有練習適應性線性神經元模型在程式上的實作
以下是我的參考程式碼, 有錯還請指正。

https://github.com/u8913557/myDataScience/tree/master/ML
https://github.com/u8913557/myDataScience/blob/master/ML/adaline_test.py




Donut test:

適應性線性神經元模型無法 100% 分類 甜甜圈型的資料
直覺來看原始資料這種圖形無法用一條直線簡單的分類

Cost (SSE) 值無法下降
錯誤率是 50%,針對這類資料無法正確分類
Final cost:
 1861.52059945286 
epochs:
 15 / 15
R2: -0.9199999999999999
Misclassified samples: 96
Accuracy: 0.52
Score: 0.52


Iris Dataset test:

為求簡單表示資料的點,程式會隨機的選擇兩種特徵跟兩種鳶尾花作為訓練及測試資料

從原始資料可以簡單看出這是能夠線性分類的資料
Cost (SSE) 值很快就下降而且收斂
適應性線性神經元模型可以 100% 分類
Final cost:
 1.1713797121837397 
epochs:
 15 / 15
R2: 1.0
Misclassified samples: 0
Accuracy: 1.00
Score: 1.0

Wine Dataset test:

從原始資料來看,兩種酒類的資料分佈有些許重疊
 Cost (SSE) 值下降的也很快而且收歛
 雖然不能100%完全分類但就線性分類來說應該還算可以也有 95%正確
Final cost:
 9.064058058260898 
epochs:
 10 / 10
R2: 0.7947368421052632
Misclassified samples: 2
Accuracy: 0.95
Score: 0.9487179487179487






沒有留言:

張貼留言