[发明专利]一种spark下的机器学习快速大规模样本签名方法有效
申请号: | 201910983158.8 | 申请日: | 2019-10-16 |
公开(公告)号: | CN111079935B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 胡峰;刘鑫;周耀;王文斌;邓维斌 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06K9/62 |
代理公司: | 重庆市恒信知识产权代理有限公司 50102 | 代理人: | 刘小红;陈栋梁 |
地址: | 400065 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 spark 机器 学习 快速 大规模 样本 签名 方法 | ||
1.一种spark下的机器学习快速大规模样本签名方法,其特征在于,包括以下步骤:
1)读入样本数据,将样本数据转换成改进的样本格式,为了将features经过hash后保存在Long类型的Buffer中并留出int类型的ids空列方便对其进行后面转换;
2)对样本数据中的高频特征进行划分,得到FeatureMap,FeatureMap为高频特征被划分成多行后的存储格式;
3)设置最大广播数量,根据最大广播数量计算FeatureMap的分区partition;
4)根据FeatureMap的分区partition数量进行循环迭代,分片广播大量特征,让样本一开始转换为设定格式的样本数据,根据FeatureMap去索引对应特征的编码进行替换;
5)最后对完成替换的样本进行格式转换,得到libsvm格式的数据;
所述步骤2)对样本数据中的高频特征进行划分,得到FeatureMap具体包括:对样本数据中的features进行划分,由一行变多行,同时进行murmurhash,将String数据hash到64位的空间中,MurmurHash算法是一种非加密hash算法,这里是将分开后的每一个特征进行hash,并同时统计特征频次,对低频特征进行过滤,对剩余的特征进行编号,产生FeatureMap,格式为[feature:Long,id:Int]。
2.根据权利要求1所述的一种spark下的机器学习快速大规模样本签名方法,其特征在于,所述步骤1)读入样本数据,将样本数据转换成改进的样本格式,具体格式为:
其中features是明文的特征,经过hash后保存在Long类型的Buffer中;ids是特征编码后的Buffer,ids初始为空,类型为Int;在编码转换的过程中,不断的将查找到的feature转换成id,同时在features的buffer里删除掉已经转换后的feature,并将编码的id写入到ids这个buffer中。
3.根据权利要求2所述的一种spark下的机器学习快速大规模样本签名方法,其特征在于,所述3)设置最大广播数量,根据最大广播数量计算FeatureMap的分区partition,具体包括步骤:
设置最大广播数量,然后根据最大广播数量,设置最大不超过这个最大广播数量的分区大小,并计算得到FeatureMap的分区partition,其格式如下:
[feature:Long,id:Int,part:int]。
4.根据权利要求3所述的一种spark下的机器学习快速大规模样本签名方法,其特征在于,所述步骤4)根据FeatureMap的分区partition数量进行循环迭代,分片广播大量特征,具体包括:在每一轮的广播中,样本根据该FeatureMap去索引对应特征的编码,然后进行替换,具体操作为,遍历FeatureMap,每个特征都有其对应的一开始编好的哈希值,样本根据这个哈希值查找到对应样本位置,在该列进行操作,删除样本中features中对应的特征,并将编码插入到ids中;每一轮遍历FeatureMap后,结束当前广播并释放该FeatureMap,然后进入下一轮广播,直到所有FeatureMap遍历结束,以此通过一次数据扫描,即可完成ID化写入磁盘的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910983158.8/1.html,转载请声明来源钻瓜专利网。