python输入一组工资数据_用线性单元(LinearUnit)实现工资预测的Python3代码

使用Python3重新编写了线性单元(LinearUnit),根据工作年限和级别预测工资,构建3D图展示拟合效果。代码基于Perceptron感知机模型,训练数据为捏造的5个员工工资样本,通过线性单元学习工资计算规律。
摘要由CSDN通过智能技术生成

功能:通过样本进行训练,让线性单元自己找到(这就是所谓机器学习)工资计算的规律,然后用两组数据进行测试机器是否真的get到了其中的规律。

原文链接在文尾,文章中的代码为了演示起见,仅根据工作年限来预测工资,参数是一维的,最后绘制的图也是平面图。本着学习的态度,我将代码改为能根据两个参数来预测工资,两个参数分别是工作年限和级别,并且用3D图绘制出拟合的效果。原作者的代码是适用于Python2.7的,我的代码适用于Python3,谨供参考。

注意:绘图代码需要安装matplotlib。

代码:

1 #!/usr/bin/env python

2 #-*- coding: UTF-8 -*-

3

4 from Perceptron importPerceptron5

6

7 #定义激活函数f

8 f = lambdax: x9

10 classLinearUnit(Perceptron):11 def __init__(self, input_num):12 '''初始化线性单元,设置输入参数的个数'''

13 Perceptron.__init__(self, input_num, f)14

15

16 defget_training_dataset():17 '''

18 捏造5个人的收入数据19 '''

20 #构建训练数据

21 #输入向量列表,每一项的第一个是工作年限,第二个是级别

22 #构造这些数据所用的公式是:工资=1000*年限 + 500*级别,看机器是否能猜出来

23 input_vecs = [[5,1], [3, 7], [8,2], [1.5,5], [10,6]]24 #期望的输出列表,月薪,注意要与输入一一对应。【注意! 我故意让结果不太准确,这也会导致预测的结果有偏差】

25 labels = [5200, 6700, 9300, 3500, 15500]26 returninput_vecs, labels27

28

29 deftrain_linear_unit():30 '''

31 使用数据训练线性单元32 '''

33 #创建感知器,输入参数的特征数为2(工作年限,级别)

34 lu = LinearUnit(2)35 #训练,迭

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值