為了加深對演算法的了解
還有練習感知器模型在程式上的實作
以下是我的參考程式碼, 有錯還請指正。
https://github.com/u8913557/myDataScience/tree/master/ML
https://github.com/u8913557/myDataScience/blob/master/ML/perceptron_test.py
And Gate test:
感知器模型可以 100% 分類 AND Gate Date
R2: [[1.]]
Accuracy: 1.00
Score: 1.0
OR Gate test:
感知器模型可以 100% 分類 OR Gate Date
R2: [[1.]]
Accuracy: 1.00
Score: 1.0
XOR Gate test:
感知器模型無法 100% 分類 XOR Gate Date
其正確率只有 50% 跟用亂猜的一樣好
R2: [[-1.]]
Accuracy: 0.50
Score: 0.5
Donut test:
感知器模型也無法 100% 分類 甜甜圈型的資料
直覺來看原始資料這種圖形無法用一條直線簡單的分類
用測試資料的預測結果其正確率只有 約50%
藍色圈起來的部分為預測錯誤的資料點
R2: [[-0.72]]
Accuracy: 0.57
Score: 0.57
Iris Dataset test:
Iris dataset: 安德森鳶尾花卉數據集
其數據集包含了150個樣本, 記錄了三種不同的鳶尾花的四個特徵
https://zh.wikipedia.org/wiki/%E5%AE%89%E5%BE%B7%E6%A3%AE%E9%B8%A2%E5%B0%BE%E8%8A%B1%E5%8D%89%E6%95%B0%E6%8D%AE%E9%9B%86
為求簡單表示資料的點還有感知器模型只能單純的作二元分類 (不考慮 OvA 或 OvO 的折衷方法) 程式會隨機的選擇兩種特徵跟兩種鳶尾花作為訓練及測試資料
從原始資料可以簡單看出這是能夠線性分類的資料
從測試資料的結果,果然也能100%的分類正確
R2: [[1.]]
Accuracy: 1.00
Score: 1.0
Wine Dataset test:
紅酒資料集包含3種不同紅酒與其13種不同的特徵
從原始資料可以看出有部分資料是無法 100% 線性分類
藍色圈起來部分為預測錯誤的資料
Accuracy: 0.88
Score: 0.8787878787878788
沒有留言:
張貼留言