from perceptron import Perceptron#定义激活函数f
f = lambda x: xclass LinearUnit(Perceptron):def __init__(self, input_num):'''初始化线性单元,设置输入参数的个数'''Perceptron.__init__(self, input_num, f)def get_training_dataset():'''捏造5个人的收入数据'''# 构建训练数据# 输入向量列表,每一项是工作年限input_vecs = [[5], [3], [8], [1.4], [10.1]]# 期望的输出列表,月薪,注意要与输入一一对应labels = [5500, 2300, 7600, 1800, 11400]return input_vecs, labelsdef train_linear_unit():'''使用数据训练线性单元'''# 创建感知器,输入参数的特征数为1(工作年限)lu = LinearUnit(1)# 训练,迭代10轮, 学习速率为0.01input_vecs, labels = get_training_dataset()lu.train(input_vecs, labels, 10, 0.01)#返回训练好的线性单元return ludef plot(linear_unit):import matplotlib.pyplot as pltinput_vecs, labels = get_training_dataset()fig = plt.figure()ax = fig.add_subplot(111)ax.scatter(map(lambda x: x[0], input_vecs), labels)weights = linear_unit.weightsbias = linear_unit.biasx = range(0,12,1)y = map(lambda x:weights[0] * x + bias, x)ax.plot(x, y)plt.show()if __name__ == '__main__':'''训练线性单元'''linear_unit = train_linear_unit()# 打印训练获得的权重print (linear_unit)# 测试print ('Work 3.4 years, monthly salary = %.2f' % linear_unit.predict([3.4]))print ('Work 15 years, monthly salary = %.2f' % linear_unit.predict([15]))print ('Work 1.5 years, monthly salary = %.2f' % linear_unit.predict([1.5]))print ('Work 6.3 years, monthly salary = %.2f' % linear_unit.predict([6.3]))plot(linear_unit)

0基础2(在1基础之上)相关推荐

  1. 上传文件到tftp服务器,网络基础知识:TFTP协议之上传文件

    原标题:网络基础知识:TFTP协议之上传文件 上传文件指的是客户端将本地上的文件上传到TFTP服务器上.下面介绍客户端如何进行文件上传,以及上传时所涉及的各类型数据包. 1.工作流程 客户端会向TFT ...

  2. yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章

    第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...

  3. [Away 3D] Away3D4.0入门教程(1)--这个世界的基础

    大多数Flash程序员想要接触3D项目的时候,应该都和我一样,最关心的是怎么造一座山,怎么在场景里显示流动的河水,或是怎么让模型动起来(奔跑,攻击,或是跳舞),又或是怎么才能给人物换装,怎么让人物装备 ...

  4. 1. awk基础,awk介绍,awk基本语法,直接使用action,打印列,初识列和行,\$0、\$NF、NF,基础示例,begin模式,end模式

    文章目录 前言 awk介绍 awk基本语法 直接使用action 打印列 初识列和行 \$0.\$NF.NF 基础示例 初识模式(begin end) 总结 友情链接 前言 本小节是awk基础入门课程 ...

  5. 20165326 学习基础和c语言基础调查

    学习基础和c语言基础调查 一.关于个人技能 阅读了娄老师关于做中学的文章,我想起了自己之前学习技能的经历. 从小到大我学过的东西不少,除学校的教育课程外,我还参加过各种兴趣班,书法.绘画.舞蹈.吉他. ...

  6. WIFI基础入门--802.11--MAC基础--2

    WIFI基础入门--802.11--MAC基础--2 1.故障排查工具 2.优化无线网络 3.关键点 4.面临挑战 4.1 射频链路质量 5.隐藏节点 6.访问模式与时机 6.1 DCF(分布式协调功 ...

  7. python Numpy 的基础用法以及 matplotlib 基础图形绘制

    python Numpy 的基础用法以及 matplotlib 基础图形绘制 1. 环境搭建 1.1 Anaconda ​ anaconda 集成了数据分析,科学计算相关的所有常用安装包,比如Numo ...

  8. Rust语言开发基础(六)基础语法

    2019独角兽企业重金招聘Python工程师标准>>> 一.变量的定义和使用 其它常见的编程语言对变量的定义通常是通过声明类型和使用关键new来创建一个变量,但Rust不是,Rust ...

  9. 科学计算机程序 字表处理软件都是,计算机应用基础知识_计算机应用基础试题及答案【最新资料】.doc...

    计算机应用基础知识_计算机应用基础试题及答案[最新资料] 计算机应用基础知识 计算机应用基础试题及答案 ? 计算机应用基础知识1.1填空题1.第一代计算机采用的电子器件是--[答案] 电子管2.第四代 ...

  10. 2012级计算机应用基础,2012年计算机应用基础

    2012年计算机应用基础 (42页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 29.9 积分 2012年计算机应用基础第一章 计算机基础知识判断:1.C ...

最新文章

  1. centos 安装 aria2 webui 实现网页下载
  2. 原根与指标,离散对数
  3. 深入理解JVM之前端编译器(一)
  4. python保存文件到指定文件夹_python实现指定文件夹下的指定文件移动到指定位置...
  5. geoserver 3_SD 2-3/15 PR调速阀德国HAWE哈威
  6. php ip处理函数,PHP取ip地址函数
  7. k1658停运到什么时候_最近网传的春节快递停运时间表,是假的!
  8. ios 输入法扩展_ios 应用扩展—— Keyboard Extension
  9. MEMCACHED在集群环境下对并发更新是否保持数据一致
  10. 第三周练习 part3 --- 文件的操作
  11. java字符串替换的问题
  12. 手推RNN BPTT(back propagation through time)反向传播
  13. css 选择器的应用
  14. 背包九讲(例题+代码)
  15. 从零开始学英语 (洪恩教学光盘 8CD)
  16. 厉害了!机器视觉在农业中的应用
  17. 前端页面预览word_js打开word文档预览操作示例【不是下载】
  18. Twitter无法输入密码
  19. Windows 下解决 VsCode 使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误
  20. maya为什么不能导出fbx_FBX动画导入导出经验心得(MayaToMax,MayaToMaya)

热门文章

  1. LoadrRunner报错-Error: The table 'F:\测试脚本\loadrunner\toutTest3\NewParam.dat' does not exist.
  2. 怎样使用计算机的桌面助手,360桌面助手怎么用
  3. 怎么会是lucene?
  4. 分布式缓存之memcached以及LAMP的搭建
  5. 2010Execl冻结多行
  6. 分享一组超喜欢的粉色樱花高清壁纸~
  7. NOIP5424. 【NOIP2017提高A组集训10.25】凤凰院凶真 LCIS 方案
  8. python代码提示太弱了_10行Python代码制作群聊提醒小助手,再也不怕漏掉消息了...
  9. java邮箱验证码_Java实现邮箱验证码
  10. 外卖店优先级(模拟)