机器学习PAI序列特征里面的值如果想做分桶该怎么配置啊?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云机器学习平台PAI中,如果需要对序列特征的值进行分桶操作,可以通过配置相关组件参数来实现。以下是详细的配置方法和步骤:
在PS-SMART二分类组件中,支持对连续特征进行分桶处理。具体配置如下:
binCount
:指定分桶的数量。
binCount='10'
,则将连续特征划分为10个等频或等宽的桶。PAI -name ps_smart_binary_classification -project algo_public
-DinputTableName="input_table"
-DoutputTableName="output_table"
-DlabelColName="label"
-DfeatureColNames="feature1,feature2"
-DbinCount="10";
binCount
通常采用等频分桶的方式,即将数据按值分布均匀划分到各个桶中。在线性支持向量机组件中,也可以通过配置参数对连续特征进行分桶处理。
maxBins
:指定连续特征的最大分桶数。
maxBins="50"
,则将连续特征划分为最多50个桶。PAI -name LinearSVM -project algo_public
-DinputTableName="input_table"
-DmodelName="model_name"
-DfeatureColNames="feature1,feature2"
-DlabelColName="label"
-DmaxBins="50";
maxBins
采用等距离分桶的方式,即将特征值范围均匀划分为多个区间。maxBins
值会增加计算复杂度,建议根据数据规模和特征分布合理设置。随机森林组件同样支持对连续特征进行分桶处理。
randomColNum
:指定生成单棵树时每次分裂选择的随机特征数量。
log2(N)
,其中N
为特征数量。maxRecordSize
:指定最大记录数,间接影响分桶的粒度。
PAI -name randomforests -project algo_public
-DinputTableName="input_table"
-DmodelName="model_name"
-DlabelColName="label"
-DfeatureColNames="feature1,feature2"
-DrandomColNum="10"
-DmaxRecordSize="100000";
randomColNum
和maxRecordSize
调整分桶效果。如果上述组件无法满足需求,还可以通过SQL脚本组件自定义分桶逻辑。
编写SQL脚本:
CASE WHEN
语句对连续特征进行分桶。SELECT
feature1,
CASE
WHEN feature1 < 10 THEN 'bucket_1'
WHEN feature1 >= 10 AND feature1 < 20 THEN 'bucket_2'
ELSE 'bucket_3'
END AS feature1_bucket
FROM input_table;
配置SQL脚本组件:
运行工作流:
binCount
或maxBins
参数实现分桶。希望以上内容能够帮助您完成序列特征的分桶配置!
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。