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. Linux下C程序插入执行shell脚本
  2. php grid 分页,jqGrid实现前端分页
  3. c语言常量x,C语言的数据、常量和变量
  4. jquery获取下拉框的值并传递给后端处理
  5. php 分享微博,php微信分享到朋友圈、QQ、朋友、微博
  6. ssl初一组周六模拟赛【2018.5.12】(期中)
  7. webpack打包生成的map文件_一站式搞明白webpack中的代码分割
  8. LeetCode 6034. 数组的三角和
  9. (Python编程)Pickle对象
  10. SIGIR2021推荐系统论文集锦(附论文原文及代码链接)
  11. 第四次作业:个人项目-小学四则运算 “软件”之初版
  12. HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。...
  13. Jquery插件 bootstrap-datepicker 日期拾取器
  14. 在java中定义一个字符串类型的变量str的语句是:( )._JAVA复习题
  15. 网站搜索引擎优化诊断
  16. nginx 客户端返回499的错误码
  17. 金杉号:2022什么工作最赚钱,未来十年最吃香的4个稳定的工作
  18. 关于人工智能写作的发展以及看法
  19. 贝叶斯统计之三种信息
  20. 数据结构:八大常见数据结构

热门文章

  1. 【观察】美达电器:以数字化重塑质量管理体系,构筑车企新“护城河”
  2. D0g3 CTF-WEB
  3. 少儿编程有多火,家长就有多焦虑...
  4. C语言之算法的概念和特点
  5. Scratch软件编程等级考试二级——20191221
  6. html如何写图片路径?
  7. 如何快速提高开发技能
  8. 弘辽科技:腾讯发力XR新业态有赞打通腾讯惠聚新增私域引流能力
  9. 【Jupyter Notebook】在jupyter中使用数学公式
  10. 网络安全-靶机dvwa之sql注入Low到High详解(含代码分析)