前面有用爬虫抓取了一些简历数据,现在项目里有一个地方是要预测个人的薪资。这个需求用python来实现的话肯定会轻松很多,毕竟python有大量的计算库,php主要是web方面的。

确定了选用什么语言来写后,它们之间的对接用最省心的http协议来对接

算法原理很简单,就是用的多元线性回归来预测。

训练字段用的有:工作年限,行业,学历 目标字段:薪资

代码量还是很少的,毕竟靠的是后续调参和数据量撑起来的,但是效果还是挺不错的,预测的数据挺符合现实

不废话了,下面看代码和注释,还是很简单的:

首先是训练模型的代码:

import pandas as pd

import pickle

from sklearn.preprocessing import LabelEncoder as LE

from sklearn.linear_model import LinearRegression as LR

# 读取数据

train = pd.read_csv('./salary.csv')

# 数据预处理

# 去除空值

train.dropna(axis=0,how='any',inplace=True)

# 月薪分类处理为连续

def wage_cate(wage):

if wage <= 61:

return wage - 55

elif 61 < wage:

return wage - 425

train['Wage'] = train['Wage'].apply(wage_cate)

# 月薪分类还原

def wage_cate_re(cate):

if cate <= 6:

return cate + 55

elif cate > 6:

return cate + 425

# 多元线性回归模型

le = LE()

# 特征选择

X = train[['Years','Trade','Maxeducation']]

# 结果集

y = train['Wage']

# 模型学习

model = LR()

sa = model.fit(X,y)

# 保存模型

file = open('./model.pickle', 'wb')

# 把模型写入到文件中

pickle.dump(model, file)

# 关闭文件

file.close()

接着是预测代码,顺便加了flask用来做为web服务器和php代码对接:

from flask import Flask

from flask import request

import math

import pickle

# 以读二进制的方式打开文件

file = open("./model.pickle", "rb")

# 把模型从文件中读取出来

model = pickle.load(file)

# 关闭文件

file.close()

app = Flask(__name__)

@app.route('///',methods=['GET','POST'])

def home(years,trade,education):

pred = wage_cate_re(round(float(wage_pred(int(years),int(trade),int(education)))))

return str(pred)

# 月薪分类还原

def wage_cate_re(cate):

if cate <= 6:

return cate + 55

elif cate > 6:

return cate + 425

# 构建预测函数

def wage_pred(Years,trade,education):

pred = model.predict([[Years,trade,education]])

return pred

if __name__ == '__main__':

app.run()

代码提示:

月薪分类这个函数的存在是因为数据库里面这个分类不是连续的,训练数据的时候要把它处理成连续值。

代码总体很简单:其他端请求格式:http://127.0.0.1:5000/years/trade/education,

这三个参数实际使用要换成相应数字

用python计算工资工资_php项目中用python来预测薪资(工资)相关推荐

  1. 用python计算圆的面积_用Python计算大圆距

    用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...

  2. python计算文件md5值_用python 正确计算大文件md5 值

    python 计算文件的md5值很方便,但如果只是简单的把文件都入到内存中,大文件会导致问题,一般采用切片的方式分段计算,下面的几个函数可以很好的解决这个问题. 使用 hashlib import h ...

  3. python计算圆柱体积_如何用PYTHON计算体积公式

    用PYTHON计算体积公式 工具/原料 PYTHON 方法/步骤 1 打开PYTHON,新建一个空白的PY文档. 2 import math dir() 首先我们要引入模块,然后查看目录是否已经引入成 ...

  4. python计算连续复利_复利的Python程序

    python计算连续复利 Given principle amount, rate and time and we have to find the compound interest in Pyth ...

  5. python计算文件md5值_用python计算文件的MD5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

  6. python按键脚本教程-在自动化中用python实现键盘操作的方法详解

    原来在robotframework中使用press key方法进行键盘的操作,但是该方法需要写被操作对象的locator,不是很方便,现在找到了一种win32api库写键盘操作的一个方法(注意:此方法 ...

  7. python工资等级分类程序-php项目中用python来预测薪资(工资)

    前面有用爬虫抓取了一些简历数据,现在项目里有一个地方是要预测个人的薪资.这个需求用python来实现的话肯定会轻松很多,毕竟python有大量的计算库,php主要是web方面的. 确定了选用什么语言来 ...

  8. python计算球体体积_如何在Python中用MonteCarloMethod计算10维球体的体积?

    你的日常生活中有很多问题.在 你得到的错误信息来自你的线路r = 2.0*np.random.uniform(0,1,iter) - 1.0 函数调用np.random.uniform(0,1,ite ...

  9. python计算平均绩点_【python】以五分制绩点为基础的绩点计算器,可计算学分加权平均...

    [python]以五分制绩点为基础的绩点计算器,可计算学分加权平均 [python]以五分制绩点为基础的绩点计算器,可计算学分加权平均分和平均学分绩点 目录 一.以五分制绩点为基础的绩点计算器 1.1 ...

  10. python计算颜色占比_用 Python 对图片主体轮廓进行提取、颜色标记、并计算区域面积...

    Python + Opencv2 实现轮廓提取,轮廓区域面积计算: 对图像处理时,会遇到这样一个场景:找到图像主体轮廓,这是其一,可能为了凸显轮廓,需要用指定的颜色进行标记:轮廓标记完可能任务还没有结 ...

最新文章

  1. TensorFlow(6)神经网络训练(DNN)
  2. C++多态中虚函数的深入理解
  3. Py之pygame:Python的pygame库的简介、安装、使用方法详细攻略
  4. 用Python学分析 - 单因素方差分析
  5. boost::mpl::less_equal相关的测试程序
  6. win98 老电脑 文件导出_首次装电脑之前何不先模拟一番,这款练手神器可以帮你...
  7. bzoj2054疯狂的馒头(巧用非递归并查集)
  8. KVM的内存气球技术(balloon)
  9. Flutter抖动动画、颤抖动画、Flutter文字抖动效果
  10. 自编码 Autoencoder
  11. Linux 安装多个版本JDK并设置默认版本
  12. 关于“小米盒子”等的被喷
  13. 流氓软件清除,周期性出现流氓软件
  14. Matlab编程基础
  15. android 屏蔽系统输入法自定义输入法的详解
  16. 【基础算法】Gossip协议
  17. java数据结构运动会分数统计,数据结构实验报告(运动会分数统计系)..doc
  18. Redis入门到实战(实战篇)缓存更新、穿透、雪崩、击穿!
  19. 嵌入式专业英文词汇汇总
  20. 中职学校计算机基础的重要性,自学能力论文,关于浅淡培养中职学生计算机自学能力的重要性和方法相关参考文献资料-免费论文范文...

热门文章

  1. 【Python黑科技】背单词的小程序之我爱记单词(保姆级图文+实现代码)
  2. 查看计算机温度指令,怎么查看电脑温度|查看电脑温度的三种方式
  3. datawhale8月组队学习《pandas数据处理与分析》(下)(文本、分类、时序数据)
  4. mac电脑重装系统操作步骤
  5. 关于信号发生器的功能和参数介绍(一)
  6. 传真系统的跨平台兼容和更换升级
  7. Atitit q2016 qa doc list on home ntpc.docx
  8. C/C++复习:向量的数量积
  9. C语言扑克牌洗牌发牌代码
  10. dropbox 怎么使用_如何在Android手机上使用Dropbox