基于机器学习的家政行业整体素质提升因素分析
整体求解过程概述(摘要)
家政服务业即为家庭提供多种类服务的专门行业,在第三产业中占有重要地位。但近年来,由于人工智能家居产业的发展与客户对家政从业者的要求水平不断提高,家政行业仍面对较大问题。
本文从家政从业人员的角度出发,首先,通过网络爬虫爬取家政从业者相关数据,并对数据进行量化处理后展开分析。其次,对家政从业者的工作经历和培训评价进行词频分析和词云图制作,以此来预判客户需求的倾向性。接着进行因子分析,得到家政从业者的综合评分公式,以此对家政从业者进行综合评估。而后,为进一步研究家政从业者的专业水平与核心素养对其制定预期工资的影响,在因子分析的基础上,使用回归模型进行验证,发现模型拟合度较好,说明家政从业者专业水平与其工资联系密切。在模型构建方面,我们建立了 BP 神经网络,并采用 Levenberg-Marquardt 算法仿真,得出准确率为 90.0%的模型;同时,在使用模型筛选器将机器模型筛选出最适用的袋装树模型后,
通过对训练集进行训练、优化剪枝最终得到较为简洁且采样误差与交叉验证误差分别为 0.1334 和 0.1735 的决策树模型,以此判断家政从业者的个人特质是否能使其个人工资超过行业平均工资。最后通过代入训练和袋外数据测试构建出准确性约为 90.5%的随机森林模型,分析影响家政从业者预期工资的因素。通过模型正确率分析得出,随机森林模型预测准确性较高。
通过分析得出结论,一方面,家政从业者想使得预期工资达到平均工资水平,须提升个人专业水平,参与正规专业培训,丰富个人专业技能,提升市场竞争力;另一方面,由于家政行业规模扩大,行业要求更加严格,行业秩序更加规范,家政行业整体素质有较大提升。
问题分析
对于家政服务从业人员的研究,本文进行了线上搜集数据,内容涉及基本信息、就业情况、培训状况、求职意向、工作经历、客户评价六大方面;对于家政服务需求人员进行线上调研,内容涉及家政服务人员满意度评价、问题及建议两方面内容;对于家政服务中介机构进行线上调研,内容涉及基本信息、雇佣状况、服务需求、培训方法、对策前景等五个方面。本次研究具体内容涵盖工作 id、实名信息、求职意向、是否住家、期望工资、年龄、学历、生肖、婚姻、籍贯、身高、体重、经验、状态、做饭口味、会说语言、工作范围、特殊技能、拥有证书、培训记录、工作记录,老师评价等。
模型的建立与求解
本文选用 Python 软件以网络爬虫方式来进行数据收集,以家政港作为平台爬取文本信息,了解家政从业人员基本信息、个人状况、客户评价等。在数据收集后,运用 Excel 进行数据量化处理,随后运用 Python 软件进行词频分析和词云图程序编写;运用 Stata 进行因子分析与回归分析;运用 Matlab2018b 软件对 BP 神经网络模型的数据进行归一化处理与仿真模拟;运用 DevC++与 Matlab共同编程实现有关随机森林模型的模型分类筛选、决策树和随机森林主函数的编写以及随机森林程序的运行;运用 Mathtype 进行相关数学公式的编写;运用Photoshop、Tableau、Visio2013 分别进行词云图图片处理、地图和因子分析树状图以及流程图神经网络图的绘制,以此来进行统计推断的估计、统计分组确定、综合指标的测算、统计模型的衡量等。
模型的建立与求解整体论文缩略图
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
(代码和文档not free)
x=[5119.276,6688.352,6842.004,7196.007,8360.984,8255.013,12839.98,14399.89,14502.29,16537.52];
lag=1;
% 自回归阶数
iinput=x;
% x为原始序列(行向量)
n=length(iinput);
%准备输入和输出数据
inputs=zeros(lag,n-lag);
for i=1:n-lag
inputs(:,i)=iinput(i:i+lag-1)’;
end
targets=x(lag+1:end);
%创建网络
hiddenLayerSize = 10;
%隐藏层神经元个数
net = fitnet(hiddenLayerSize);
% 避免过拟合,划分训练,测试和验证数据的比例
net.divideParam.trainRatio = 50/100;
net.divideParam.valRatio = 25/100;
net.divideParam.testRatio = 25/100;
%训练网络
[net,tr] = train(net,inputs,targets);
net.trainParam.show=1000; %每1000轮回显示一次结果
net.trainParam.Lr=0.05; %学习速率为0.05
net.trainParam.epochs=3000; %循环10000次
net.trainParam.goal=0.0000000001; %均方误差
%% 根据图表判断拟合好坏
%yn=net(inputs);
% errors=targets-yn;
%figure, ploterrcorr(errors)
%绘制误差的自相关情况(20lags)
% figure, parcorr(errors)
%绘制偏相关情况
% [h,pValue,stat,cValue]= lbqtest(errors)
%Ljung-Box Q检验(20lags) figure,plotresponse(con2seq(targets),con2seq(yn))
%看预测的趋势与原趋势% figure, ploterrhist(errors)
%误差直方图% figure, plotperform(tr)
%误差下降线%% 下面预测往后预测几个时间段
fn=3;
%预测步数为fn。
f_in=iinput(n-lag+1:end)’;f_out=zeros(1,fn);
%预测输出% 多步预测时,用下面的循环将网络输出重新输入
for i=1:fn f_out(i)=net(f_in);
f_in=[f_in(2:end);f_out(i)];
end
% 画出预测图
figure,plot(2007:2016,iinput,’b’,2016:2019,[iinput(end),f_out],’r’)