data1的數據如下(線性可分)
前50的標簽為1,后50個為-1

data2是針對實現pocket算法而設計的,其實只是在PLA算法上的更新迭代上做了改動
PLA實現代碼如下:一些函數解釋在后面

相關函數說明:
1。pandas中的iloc函數
df.iloc[:,0].values - > 取第0列的所有數據
df.iloc[:,:3].values - > 取前3列(即0 1 2列)的所有數據
2。np.dot()
點乘,詳細見圖便可理解
3。np.hstack()
見圖即可理解
4。關於where函數,剛開始有點難理解
最后出現兩個array的意思是:第一個array的意思是第幾行的意思,第二個array是第幾個的意思
結合起來就是第幾行第幾個的意思
以下是針對data2線性不可分的情況下做的改進

