python工资等级分类程序-php项目中用python来预测薪资(工资)
前面有用爬虫抓取了一些简历数据,现在项目里有一个地方是要预测个人的薪资。这个需求用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来预测薪资(工资)相关推荐
- 视频教程-Python疫情监控完整项目实战-Python
Python疫情监控完整项目实战 数据产品讲师,人工智能探索者,15年一线IT研发经验,国内顶级互联网行业工作背景,社区达人,著有长篇连载<胖子哥的大数据之路>,<数据实践之美> ...
- 笨办法学Python(第四版)最新版+Python爬虫开发与项目实战+Python网络数据采集+精通Scrapy网络爬虫
笨办法学Python(第四版)最新版+Python爬虫开发与项目实战+Python网络数据采集+精通Scrapy网络爬虫 本资料为最新整理高清带目录pdf,百度网盘下载~~~ 本资料为最新整理高清带目 ...
- python工资等级分类程序-看到抖音上Python工程师晒得工资条,我沉默了......
先从 Python 的发展历史开始,介绍 Python 的基本语法规则,Python 的 list, dict, tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等 IO 操作,再介 ...
- python能做什么项目好-python能做什么项目
大家在学完python基础之后,突然迷茫起来了,这时就需要一些项目练练手,增加自己的经验,同时找到自己的不足. Python3 实现火车票查询工具(推荐学习:Python视频教程) 使用 Python ...
- python可以做什么项目-适合Python 新手的5大练手项目,你练了么?
已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...
- python能做什么项目-用python真的可以做很多有趣的事!我自己做了些小项目!大家看看...
如果你是一个喜剧爱好者,你实际上可以用Python自动下载所有的动画,没有一个下载. Python还可以帮助组织混乱的文件夹. 整理前: 后整理: 不要错过最新的消息. 我非常喜欢看电影.我想整理我电 ...
- python能做什么项目-适合Python 新手的5大练手项目,你练了么?
已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去[项目]阶段了. 但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手? W3Cschool首先有两 ...
- python编程快速上手项目答案-python编程快速上手之第5章实践项目参考答案
1 #!/usr/bin/env python3.5 2 #coding:utf-8 3 #5.6.1 4 #好玩游戏的物品清单 5 #给定一个字典,包含物品名称和数量,并打印出数量对应的物品 6 7 ...
- python适合做后端开发吗-Python真的不适合做后端开发语言吗?
2019-04-03 列举一些比较有名的网站或应用.这其中有一些是用python进行开发,有一些在部分业务或功能上使用到了python,还有的是支持python作为扩展脚本语言.数据大部分来自Wike ...
最新文章
- 零基础Java学习之包(Package)
- Java里main的写法_main方法的深入理解和例子
- 上海网络推广浅析一个优质的404页面能给网站带来什么优化效果?
- MATLAB知识点1
- Spring框架中的设计模式(五)
- QT的QModbusRequest类的使用
- 【Linux】一步一步学Linux——wget命令(192)
- Spring Boot – spring.config.name –案例研究
- Scrapy 框架【学习笔记01】
- (转)SQL Server当中生成一定范围的随机数
- 数据标准是物联网大集成应用的核心
- 7-8 jmu-ds-顺序表区间元素删除 (15 分)
- 嵌入式Linux驱动学习之路(二)u-boot体验
- SVM 超平面方程
- php判断是否是浏览器请求,php 判断请求是否来自“手机浏览器”
- 新员工月度计划制定心得
- 【文化课每周学习记录】2019.4.7——2019.4.13
- win7关于无线连接的服务器,win7网络连接受限
- 504_linux内核学习___va_rounded_size宏分析
- Litepal在没有存数据之前,需要在主线程中去先去存一些不必要的数据