data1的数据如下(线性可分)

前50的标签为1,后50个为-1

用Python实现PLA算法及Pocket算法

 data2是针对实现pocket算法而设计的,其实只是在PLA算法上的更新迭代上做了改动

PLA实现代码如下:一些函数解释在后面

用Python实现PLA算法及Pocket算法

相关函数说明:
1。pandas中的iloc函数
df.iloc[:,0].values - > 取第0列的所有数据
df.iloc[:,:3].values - > 取前3列(即0 1 2列)的所有数据
用Python实现PLA算法及Pocket算法
 
2。np.dot()
点乘,详细见图便可理解
用Python实现PLA算法及Pocket算法
 
3。np.hstack()
见图即可理解
用Python实现PLA算法及Pocket算法用Python实现PLA算法及Pocket算法
 
4。关于where函数,刚开始有点难理解
最后出现两个array的意思是:第一个array的意思是第几行的意思,第二个array是第几个的意思
结合起来就是第几行第几个的意思
用Python实现PLA算法及Pocket算法

 

以下是针对data2线性不可分的情况下做的改进

 

用Python实现PLA算法及Pocket算法

 

相关文章:

  • 2021-04-09
  • 2021-07-18
  • 2022-12-23
  • 2021-08-30
  • 2021-11-23
  • 2022-12-23
  • 2021-11-02
  • 2021-12-11
猜你喜欢
  • 2021-10-14
  • 2022-01-10
  • 2021-05-11
  • 2021-04-27
  • 2021-11-27
  • 2021-06-05
  • 2021-08-17
相关资源
相似解决方案