基于随机森林的戒毒人员戒治效果的评估方法与流程

文档序号:27432017发布日期:2021-11-17 22:18阅读:148来源:国知局

1.本发明涉及戒毒领域和机器学习领域,尤其涉及一种基于随机森林的戒毒人员戒治效果的评估方法。


背景技术:

2.虽然目前已经提出很多强制戒毒人员戒治效果的评估方法,但是在实际操作过程中,普遍存在操作难度较大、评估信度效度较低的问题。另外,现有的评估方法的设计均基于经验,无法快速灵活改变参数,难以适应新技术发展、信息系统和相关制度变化带来的环境变化。
3.现有戒毒信息系统中已经有大量的数据和戒治效果直接相关,例如计分考核数据、考试成绩、医疗检验结果和康复训练数据等;但这些数据缺乏统一标准,各地域之间差别巨大,每次制度变化和技术进步,都会导致这些数据发生巨大变化,直接从这些数据中靠人工分析方式评价戒治效果很困难,不直观,评估结果精确度严重依赖于评估人员的经验。


技术实现要素:

4.为解决上述技术问题,本发明提供一种基于随机森林的戒毒人员戒治效果的评估方法,建立完全基于数据的戒治效果评估模型,排除人为主观因素,以实现通过构造数据集重新训练方式随时更新模型,能够快速灵活适应环境的变化,同时也能适应不同地域的技术、制度环境巨大的差别。
5.为实现上述目的,本发明提供如下技术方案:
6.一种基于随机森林的戒毒人员戒治效果的评估方法,包含目标函数和特征的选择、训练模型和评估过程;其中,
7.(1)目标函数和特征选择:
8.在戒毒人员多维度戒毒数据中选择一个维度yd作为目标函数,所述yd是与所述戒治效果直接相关的量化指标;
9.从戒毒人员多维度戒毒数据选择一组特征fd,所述fd为戒毒人员的静止属性;
10.(2)训练模型:
11.a、建立训练数据集trainset样本集合,其中的每一样本对应多维度戒毒数据中一个人员的数据;
12.b、训练随机森林回归模型rfm,从trainset中提取样本并放入子集modeltrainset中,用于随机森林训练;
13.c、将所述rfm中所有叶子节点放到统一的叶子节点数组lnodes中,使用rfm对人员特征向量f进行回归,计算命中叶子节点的所有trainset样本的均值lnmean数组和标准差lnstd数组;计算trainset全体的目标函数值的标准差和平均值,保存到gstd和gmean中;
14.d、保存rfm、gmean、gstd、lnstd和lnmean;
15.(3)评估过程:
16.a、从存储介质加载训练过程得到的rfm、gmean、gstd、lnstd和lnmean;
17.b、用随机森林回归算法根据模型rfm预测被评估人员的目标函数yd值,获得命中的rfm叶子节点,计算被评估人员的yd和类似戒毒人员平均值的偏差是标准差的倍数lss;
18.c、计算被评估人员的yd和整体平均值的偏差是标准差的倍数gss,
19.其公式为gss=(yd

gmean[m])/gstd[m];
[0020]
d、输出lss和gss,以及lss和gss指标随时间变化的趋势,作为被评价人员戒治效果指标yd的直观说明;
[0021]
gss>0表示被评价人员的戒治效果优于整体平均水平,gss<0表示被评价人员的戒治效果比整体平均水平差;
[0022]
当lss>0,表示被评估人员当前的戒治效果优于类似戒毒人员平均值,
[0023]

1<lss<1,表示被评估人员戒治效果和类似戒毒人员的平均值偏差在一个标准差之内,标注其戒治效果为“正常”,
[0024]
lss<

1表示戒毒人员戒治效果低于类似戒毒人员平均值超过一个标准差,标注其戒治效果为“差”,
[0025]
lss>1表示戒毒人员戒治效果高于类似戒毒人员平均值超过1个标准差,标注其戒治效果为“优”;
[0026]
当lss和gss的评估结果不同时,以lss的评估结果为标准。
[0027]
进一步地,所述yd为连续实数类型;yd为累计奖罚分、月度奖罚分、考试成绩、医疗检验结果、康复训练成绩任一种。
[0028]
进一步地,所述fd在整个戒毒过程内不会变化;fd为性别、年龄、吸食毒品种类、文化程度任一种。
[0029]
进一步地,所述(2)训练模型中a所述trainset样本集合中的每一样本对应多维度戒毒数据中一个人员的数据,所述每个样本设置三个列,分别为month、label、features;其中,
[0030]
yd的值作为label,从多维度戒毒数据中提取选中特征维度fd的数据构造features向量;month是戒毒人员戒毒时间,由多维度戒毒数据中提取,以月为单位。
[0031]
进一步地,所述(2)训练模型中b所述从trainset中提取month等于mi的样本并放入子集modeltrainset中,用于随机森林训练,所述mi取中间值,mi=12;
[0032]
将数据集modeltrainset训练随机森林分类模型rfm,在训练过程中,控制所述叶子节点的最小样本数>mns,其中,10≤mns<modeltrainset样本总数/叶子节点总数。
[0033]
进一步地,所述(2)训练模型中c所述叶子节点数为lnsize,lnsize等于lnodes的长度;
[0034]
使用rfm对人员特征向量f进行回归,得到向量f在k个决策树中命中的叶子节点下标元组lnis=(ln1,ln2,...ln
k
),其中ln
i
为向量f在第i个决策树中命中的叶子节点在lnodes中的下标;
[0035]
计算命中叶子节点的所有trainset样本的均值lnmean数组和标准差lnstd数组,lnstd和lnmean均为二维数组,其第一维均表示月份,长度为36,其第二维均表示节点,长度是节点数为lnsize;
[0036]
其中,lnstd[m][i]的值是命中第i个叶子节点的第m个月样本的label的标准差;
lnmean[m][i]的值是命中第i个叶子节点的第m个月样本的label的平均值。
[0037]
进一步地,具体计算方法:
[0038]

建立二维集合数组tss,其第一维表示月份,长度为36,第二维表示节点,长度是节点数也就是lnsize;tss的所有元素初始化为空集;
[0039]

列举trainset集合中每一个样本x,用随机森林回归算法预测x.features的预测值py,忽略py,取预测过程中命中的随机森林叶子节点在lnodes中的下标lnis=(ln1,ln2,...ln
k
),将样本x加入k个子集tss[x.month][ln
i
],其中i=1

k;
[0040]

列举tss的每个元素tss[m][j],tss[m][j]是一个样本的子集,计算这个子集的元素label的均值和标准差,分别保存到lnmean[m][i]和lnstd[m][i]中;
[0041]

建立一维集合数组gtss,长度为36,所有元素初始化为空集,列举trainset集合中每一个样本x,将x加入子集gtss[x.month];
[0042]

列举gtss的每个元素gtss[m],gtss[m]是一个样本的子集,计算这个子集所有样本的label的均值和标准差,保存到数组gmean[m]和gstd[m];所述gmean和gstd是一维数组,下标表示月份,表示全局的均值和标准差。
[0043]
进一步地,所述(3)评估过程中b使用上述trainset数据集样本features列相同的方法,提取被评估人员的特征向量f,用随机森林回归算法根据模型rfm预测f的yd属性值,忽略预测值,取得f向量命中rfm模型中的所有叶子节点的下标lnis=(ln1,ln2,...ln
k
);计算被评价人员的戒毒时间m,以月为单位。
[0044]
进一步地,所述lss的计算方法为:选择标准差最小的命中节点ln
t
,利用如下公式计算lss,
[0045]
lss=(yd

lnmean[m][ln
t
])/lnstd[m][ln
t
],其中,在lnstd[m][ln
i
]中,lnstd[m][ln
t
]的值最小;
[0046]
或取所有命中节点的平均值,利用如下公式计算lss:
[0047]
其中i=1

k。
[0048]
本发明具有以下有益效果:
[0049]
1.本发明的利用戒毒信息系统中和戒治效果直接相关的数据,从数据库中自动提取数据构造训练集,使用随机森林回归算法训练一个基于戒毒历史数据的强制戒毒人员戒治效果评估模型,得到的模型可以对戒毒人员进行定期的戒治效果评估,评估只需要从信息系统数据库中提取数据,无需加入额外的专家主观判断,简单易于操作,准确率高,输出指标易于理解和把握。
[0050]
2.本发明建立完全基于数据的戒治效果评估模型,评估过程简单成本低,易于操作,评估结果易于理解;不一刀切,灵活性高,排除人为主观因素,以实现通过构造数据集重新训练方式随时更新模型,能够快速灵活适应环境的变化,可以适应各地域不同的制度、不同的技术设备带来的巨大差异,易于推广,适应性强,当制度变化,技术进步导致数据发生
巨大变化之后,可以通过重新训练模型的方式快速适应变化;相对于基于决策树的评估方法,基于随机森林的评估方法精确度更高。
[0051]
3.本发明通过计算lss指标,以类似戒毒人员的平均值和标准差作为比较基准,考虑被评估人员的性别、文化程度的差异,评估结果更为合理,可以适应各地域不同的制度、不同的技术设备带来的巨大差异,尽管原始数据差别巨大,但评估结果lss和gss的取值范围一致,数值含义也类似,易于推广,适应性强。
附图说明
[0052]
图1为本发明的训练过程的流程图。
[0053]
图2为本发明的评估过程的流程图。
具体实施方式
[0054]
下面通过实施例对本发明作进一步说明,但不作为是对本发明的限制。
[0055]
实施例1
[0056]
一种基于随机森林的戒毒人员戒治效果的评估方法,包含目标函数和特征的选择、训练模型和评估过程;其中,
[0057]
(1)目标函数和特征选择:
[0058]
在戒毒人员多维度戒毒数据中选择一个维度yd作为目标函数,所述yd为连续实数类型,且yd是与所述戒治效果直接相关的量化指标;所述yd为累计奖罚分、月度奖罚分、考试成绩、医疗检验结果、康复训练成绩任一种;
[0059]
从戒毒人员多维度戒毒数据选择一组特征fd,所述fd为戒毒人员的静止属性,其在整个戒毒过程内不会变化;所述fd为性别、年龄、吸食毒品种类、文化程度任一种;
[0060]
(2)训练模型:(图1为本发明的训练过程的流程图)
[0061]
a、建立训练数据集trainset样本集合,其中的每一样本对应多维度戒毒数据中一个人员的数据,所述每个样本设置三个列,分别为month、label、features;其中,
[0062]
yd的值作为label,使用常规的方法从多维度戒毒数据中提取选中特征维度fd的数据构造features向量;month是戒毒人员戒毒时间,由多维度戒毒数据中提取,以月为单位;
[0063]
b、训练随机森林回归模型rfm
[0064]
从trainset中提取,month等于mi的样本并放入子集modeltrainset中,用于随机森林训练,所述mi取中间值,mi=12;
[0065]
将数据集modeltrainset训练随机森林分类模型rfm,在训练过程中,控制所述叶子节点的最小样本数>mns,其中,10≤mns<modeltrainset样本总数/叶子节点总数;
[0066]
c、将所述rfm中所有叶子节点放到统一的叶子节点数组lnodes中,叶子节点数为lnsize,lnsize等于lnodes的长度;
[0067]
使用rfm对人员特征向量f进行回归,得到向量f在k个决策树中命中的叶子节点下标元组lnis=(ln1,ln2,...ln
k
),其中ln
i
为向量f在第i个决策树中命中的叶子节点在lnodes中的下标;所述进行回归计算时,使用中间结果lnis,忽略最终的预测值;
[0068]
计算命中叶子节点的所有trainset样本的均值lnmean数组和标准差lnstd数组,
lnstd和lnmean均为二维数组,其第一维均表示月份,长度为36,其第二维均表示节点,长度是节点数为lnsize;
[0069]
其中,lnstd[m][i]的值是命中第i个叶子节点(也就是lnodes的第i个元素)的第m个月样本的label的标准差;lnmean[m][i]的值是命中第i个叶子节点(也就是lnodes的第i个元素)的第m个月样本的label的平均值;
[0070]
具体计算方法:
[0071]

建立二维集合数组tss,其第一维表示月份,长度为36,第二维表示节点,长度是节点数也就是lnsize;tss的所有元素初始化为空集;
[0072]

列举trainset集合中每一个样本x,用随机森林回归算法预测x.features的预测值py,忽略py,取预测过程中命中的随机森林叶子节点在lnodes中的下标lnis=(ln1,ln2,...ln
k
),将样本x加入k个子集tss[x.month][ln
i
],其中i=1

k;
[0073]

列举tss的每个元素tss[m][j],tss[m][j]是一个样本的子集,计算这个子集的元素label的均值和标准差,分别保存到lnmean[m][i]和lnstd[m][i]中;
[0074]

建立一维集合数组gtss,长度为36,所有元素初始化为空集,列举trainset集合中每一个样本x,将x加入子集gtss[x.month];
[0075]

列举gtss的每个元素gtss[m],gtss[m]是一个样本的子集,计算这个子集所有样本的label的均值和标准差,保存到数组gmean[m]和gstd[m];所述gmean和gstd是一维数组,下标表示月份,表示全局的均值和标准差;
[0076]
d、保存rfm、gmean、gstd、lnstd和lnmean;
[0077]
(3)评估过程:(图2为本发明的评估过程的流程图)
[0078]
a、从存储介质加载训练过程得到的rfm、gmean、gstd、lnstd和lnmean;
[0079]
b、使用上述trainset数据集样本features列相同的方法,提取被评估人员的特征向量f,用随机森林回归算法根据模型rfm预测f的yd属性值,忽略预测值,取得f向量命中rfm模型中的所有叶子节点的下标lnis=(ln1,ln2,...ln
k
);计算被评价人员的戒毒时间m,以月为单位;计算被评估人员的yd和类似戒毒人员平均值的偏差是标准差的倍数lss;
[0080]
所述lss的计算方法为:选择标准差最小的命中节点ln
t
,利用如下公式计算lss,
[0081]
lss=(yd

lnmean[m][ln
t
])/lnstd[m][ln
t
],其中,在lnstd[m][ln
i
](i=1

k)中,
[0082]
lnstd[m][ln
t
]的值最小;
[0083]
或取所有命中节点的平均值,利用如下公式计算lss:
[0084][0085]
c、计算被评估人员的yd和整体平均值的偏差是标准差的倍数gss,
[0086]
其公式为gss=(yd

gmean[m])/gstd[m];
[0087]
d、输出lss和gss,以及lss和gss指标随时间变化的趋势,作为被评价人员戒治效果指标yd的直观说明;
[0088]
gss>0表示被评价人员的戒治效果优于整体平均水平,gss<0表示被评价人员的戒治效果比整体平均水平差;
[0089]
当lss>0,表示被评估人员当前的戒治效果优于类似戒毒人员平均值,
[0090]

1<lss<1,表示被评估人员戒治效果和类似戒毒人员的平均值偏差在一个标准差之内,标注其戒治效果为“正常”,
[0091]
lss<

1表示戒毒人员戒治效果低于类似戒毒人员平均值超过一个标准差,标注其戒治效果为“差”,
[0092]
lss>1表示戒毒人员戒治效果高于类似戒毒人员平均值超过1个标准差,标注其戒治效果为“优”;
[0093]
当lss和gss的评估结果不同时,以lss的评估结果为标准。
[0094]
实施例2
[0095]
按照本发明实施例1方法在某戒毒局进行测试,提取戒毒执法平台数据库中2016

09

01以来已经离所的13126名戒毒人员的基本信息、scl90量表测试结果和计分考核等762个维度数据,经过数据清洗和删除错误及质量太低数据后,构造训练数据集trainset;选择累计奖罚分作为yd,mi取12,训练戒治效果评估模型,然后对6971名在册戒毒人员的戒治效果进行评估。
[0096]
得到64836条评估结果(每个戒毒人员每个月计算得到一个评估结果),其中,92.2%的结果显示lss和gss评估情况一致;
[0097]
其余7.8%的结果(涉及635人)的gss得分低于全局平均值(即gss<0),但是lss>1,即戒治效果为“优”;
[0098]
为了验证该7.8%的结果准确性,从中随机抽取20个结果,经专家人工评估,其中19个为优,1个为正常;即该区间中数据的lss评估准确率为95%。
[0099]
因此,本发明将lss和gss的结合考虑分析,综合进行评估,不仅提高了评估效率,确认了大部分数据的准确性,且精确度更高,使得约635名表面上得分不突出、但事实上表现良好的戒毒人员获得更公平的评价。
[0100]
虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1