python感知机实现代码

 更新时间:2019年01月18日 11:40:15   作者:w_peijian  
这篇文章主要为大家详细介绍了python感知机实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python感知机实现的具体代码,供大家参考,具体内容如下

一、实现例子

李航《统计学方法》p29 例2.1
正例:x1=(3,3), x2=(4,3),
负例:x3=(1,1)

二、最终效果

三、代码实现

import numpy as np
import matplotlib.pyplot as plt
p_x = np.array([[3, 3], [4, 3], [1, 1]])
y = np.array([1, 1, -1])
plt.figure()
for i in range(len(p_x)):
 if y[i] == 1:
 plt.plot(p_x[i][0], p_x[i][1], 'ro')
 else:
 plt.plot(p_x[i][0], p_x[i][1], 'bo')
 
w = np.array([1, 0])
b = 0
delta = 1
 
for i in range(100):
 choice = -1
 for j in range(len(p_x)):
 if y[j] != np.sign(np.dot(w, p_x[0]) + b):
  choice = j
  break
 if choice == -1:
 break
 w = w + delta * y[choice]*p_x[choice]
 b = b + delta * y[choice]
 
line_x = [0, 10]
line_y = [0, 0]
 
for i in range(len(line_x)):
 line_y[i] = (-w[0] * line_x[i]- b)/w[1]
 
plt.plot(line_x, line_y)
plt.savefig("picture.png")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 一文详解Python中的行为验证码验证功能

    一文详解Python中的行为验证码验证功能

    最近在开发行为验证码,经常触及到关于验证类型的相关内容。但使用起来不太熟练,所以本文就来总结一下对行为验证码验证类型的理解
    2023-03-03
  • Python实现注册登录功能

    Python实现注册登录功能

    这篇文章主要为大家详细介绍了Python实现注册登录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • python中__init__方法知识点详解

    python中__init__方法知识点详解

    Python中常会看到在很多类中都有一个__init__函数,该函数有什么作用,又该如何使用呢,下面这篇文章主要给大家介绍了关于python中__init__知识点的相关资料,需要的朋友可以参考下
    2023-04-04
  • python机器学习实现决策树

    python机器学习实现决策树

    这篇文章主要为大家详细介绍了python机器学习实现决策树,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • pandas Dataframe实现批量修改值的方法

    pandas Dataframe实现批量修改值的方法

    这篇文章主要介绍了pandas Dataframe实现批量修改值的方法,在使用dataframe的时候 有时候会碰到需要批量修改数据的时候,下面文章主要说明两种情况使用iloc对某几行某几列进行全部修该和对数据进行判定后,相互+/-/*某个数,使用内置函数,需要的朋友可以参考一下
    2022-06-06
  • django利用request id便于定位及给日志加上request_id

    django利用request id便于定位及给日志加上request_id

    这篇文章主要介绍了django利用request id便于定位及给日志加上request_id的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用django具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-08-08
  • Python中字符串,列表与字典的常用拼接方法总结

    Python中字符串,列表与字典的常用拼接方法总结

    有时在数据处理时,需要对数据进行拼接处理,比如字符串的拼接、列表的拼接等,本文主要是介绍了字符串、列表、字典常用的拼接方法,希望对大家有所帮助
    2024-02-02
  • python3.9不支持pillow包解决办法

    python3.9不支持pillow包解决办法

    本文主要介绍了python3.9不支持pillow包解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Python pickle模块实现对象序列化

    Python pickle模块实现对象序列化

    这篇文章主要介绍了Python pickle模块实现对象序列化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • python sys.argv[]用法实例详解

    python sys.argv[]用法实例详解

    sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,下面通过实例给大家介绍python sys.argv[]用法,感兴趣的朋友一起看看吧
    2018-05-05

最新评论