7.5 预置算子说明
7.5.1 数据特征
7.5.1.1 数据分析
7.5.1.1.11 折线图
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中 的DataFrame类型对象。
输出
无
参数说明
参数 子参数 参数说明
select_columns_str - 列名组成的格式化字符串,例如:
"column_a"
"column_a,column_b"
start_index - 画折线图时,数据集转成的数组的起始索引
end_index - 画折线图时,数据集转成的数组的终点索引
figure_length - 图的长度 figure_width - 图的宽度
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"select_columns_str": "", # @param
{"label":"select_columns_str","type":"string","required":"true","helpTip":""}
"start_index": 0, # @param {"label":"start_index","type":"integer","required":"true","helpTip":""}
"end_index": 0, # @param {"label":"end_index","type":"integer","required":"true","helpTip":""}
"figure_length": 30, # @param {"label":"figure_length","type":"integer","required":"false","helpTip":""}
"figure_width": 10 # @param {"label":"figure_width","type":"integer","required":"false","helpTip":""}
}plot_line____id___ = MLSPlotLine(**params)
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
al_length - 如果numeric_intervals_str没有设置,默认饼形图 的每个区间的长度一样,
numeric_interval_length表示此时的区间长度 show_share_nu
mber - 饼形图的份额数目,默认为5
figure_length - 图的长度 figure_width - 图的宽度
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"select_column_name": "", # @param
{"label":"select_column_name","type":"string","required":"true","helpTip":""}
"numeric_intervals_str": "", # @param
{"label":"numeric_intervals_str","type":"string","required":"false","helpTip":""}
"numeric_interval_length": "", # @param
{"label":"numeric_interval_length","type":"string","required":"false","helpTip":""}
"show_share_number": 5, # @param
{"label":"show_share_number","type":"integer","required":"false","range":"(0,2147483647]","helpTip":""}
7.5.1.1.13 散点图
概述
对数据集画出对应的散点图。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为 pyspark中的DataFrame类型对象
输出
无
参数说明
参数 子参数 参数说明
start_index - 只对数据集转成的数组的某个区间内元
素化散点图,start_index表示开始位置
end_index - 只对数据集转成的数组的某个区间内元
素化散点图,end_index表示结束位置 x_axis_column_name - 散点图x轴的列名
y_axis_columns_str - 散点图y轴的某些列,
y_axis_columns_str表示用列名逗号隔 开的字符串
figure_length - 图的长度
figure_width - 图的宽度
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}
{"label":"figure_width","type":"integer","required":"false","range":"[0,2147483647]","helpTip":""}
}plot_scatter____id___ = MLSPlotScatter(**params) plot_scatter____id___.run()
7.5.1.1.14 随机森林分类特征重要性
概述
采用随机森林分类算法计算数据集特征的特征重要性
输入
参数 子参数 参数说明
inputs dataframe 参数必选,表示输入的数据集;如果没有
pipeline_model和random_forest_classify_model 参数,表示直接根据数据集训练随机森林分类模型 得到特征重要性
pipeline_mod
el 参数可选,如果含有该参数,表示根据上游的
pyspark pipeline模型对象pipeline_model来计算特 征重要性
label_col - 目标列名 model_input - 特征向量的列名
参数 子参数 参数说明 prediction_c
ol - 训练模型时,预测结果对应的列名,默认为
"prediction"
max_depth - 树的最大深度,默认为5
max_bins - 特征分裂时的最大分箱个数,默认为32 min_instanc
es_per_node - 树分裂时要求每个节点必须包含的实例数目,默认 为1
min_info_ga
in - 最小信息增益,默认为0.0
impurity - 纯度,支持"gini"和"entropy",默认为"gini"
num_trees - 树的个数,默认为20 feature_subs
et_strategy - 每个树节点分裂时使用的特征个数,默认为"all"
subsampling
_rate - 训练每棵树时,对训练集的抽样率,默认为1.0
seed - 随机数种子,默认为0
样例
inputs = {
"dataframe": None, # @input {"label":"dataframe","type":"DataFrame"}
"pipeline_model": None, # @input {"label":"pipeline_model","type":"PipelineModel"}
"random_forest_classify_model": None }params = {
"inputs": inputs,
"input_columns_str": "", # @param {"label": "input_columns_str", "type": "string", "required": "false",
"helpTip": ""}
"label_col": "", # @param {"label": "label_col", "type": "string", "required": "true", "helpTip": ""}
"model_input_features_col": "model_features", # @param {"label": "model_input_features_col", "type":
"string", "required": "false", "helpTip": ""}
"classifier_label_index_col": "label_index", # @param {"label": "classifier_label_index_col", "type":
"string", "required": "false", "helpTip": ""}
"prediction_index_col": "prediction_index", # @param {"label": "prediction_index_col", "type": "string",
"required": "false", "helpTip": ""}
"prediction_col": "prediction", # @param {"label": "prediction_col", "type": "string", "required": "false",
"helpTip": ""}
"max_depth": 5, # @param {"label": "max_depth", "type": "integer", "required":
"false","range":"(0,2147483647]", "helpTip": ""}
"max_bins": 32, # @param {"label": "max_bins", "type": "integer", "required":
"seed": 0 # @param {"label": "seed", "type": "integer", "required": "false","range":"[0,2147483647]",
"helpTip": ""}
}rf_classify_feature_importance____id___ = MLSRandomForestClassifierFeatureImportance(**params)
rf_classify_feature_importance____id___.run()
# @output {"label":"dataframe","name":"rf_classify_feature_importance____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.1.15 随机森林回归特征重要性
概述
采用随机森林回归算法计算数据集特征的特征重要性
输入
参数 子参数 参数说明
inputs dataframe 参数必选,表示输入的数据集;如果没有 pipeline_model和
random_forest_regressor_model参数,表示直接 根据数据集训练随机森林分类模型得到特征重要 性
pipeline_model 参数可选,如果含有该参数,表示根据上游的 pyspark pipeline模型对象pipeline_model来计算 特征重要性
参数 子参数 参数说明
max_depth - 树的最大深度,默认为5
max_bins - 特征分裂时的最大分箱个数,默认为32 min_instanc
es_per_node - 树分裂时要求每个节点必须包含的实例数目,默 认为1
min_info_ga
in - 最小信息增益,默认为0.0
subsampling
_rate - 训练每棵树时,对训练集的抽样率,默认为1.0
num_trees - 树的个数,默认为20 feature_subs
et_strategy - 每个树节点分裂时使用的特征个数,默认为"auto"
样例
inputs = {
"dataframe": None, # @input {"label":"dataframe","type":"DataFrame"}
"pipeline_model": None, # @input {"label":"pipeline_model","type":"PipelineModel"}
"random_forest_regressor_model": None }params = {
"inputs": inputs,
"input_columns_str": "", # @param {"label": "input_columns_str", "type": "string", "required": "false",
"helpTip": ""}
"label_col": "", # @param {"label": "label_col", "type": "string", "required": "true", "helpTip": ""}
"model_input_features_col": "model_features", # @param {"label": "model_input_features_col", "type":
"string", "required": "false", "helpTip": ""}
"prediction_col": "prediction", # @param {"label": "prediction_col", "type": "string", "required": "false",
"helpTip": ""}
"max_depth": 5, # @param {"label": "max_depth", "type": "integer", "required":
"false","range":"(0,2147483647]", "helpTip": ""}
"max_bins": 32, # @param {"label": "max_bins", "type": "integer", "required":
"false","range":"(0,2147483647]", "helpTip": ""}
"min_instances_per_node": 1, # @param {"label": "min_instances_per_node", "type": "integer",
"required": "false","range":"(0,2147483647]", "helpTip": ""}
"min_info_gain": 0.0, # @param {"label": "min_info_gain", "type": "number", "required": "false",
"helpTip": ""}
"impurity": "variance",
"subsampling_rate": 1.0, # @param {"label": "subsampling_rate", "type": "number", "required": "false",
"helpTip": ""}
"num_trees": 20, # @param {"label": "num_trees", "type": "integer", "required":
"false","range":"(0,2147483647]", "helpTip": ""}
"feature_subset_strategy": "auto" # @param {"label": "feature_subset_strategy", "type": "enum",
7.5.1.1.16 全表统计
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"select_columns_str": "" # @param
{"label":"select_columns_str","type":"string","required":"false","helpTip":""}
}table_statistics____id___ = MLSTableStatistics(**params) table_statistics____id___.run()
# @output {"label":"dataframe","name":"table_statistics____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2 数据处理
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark 中的DataFrame类型对象
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"new_column_name_map_str": "" # @param
{"label":"new_column_name_map_str","type":"string","required":"true","helpTip":""}
}change_column_name____id___ = MLSChangeColumnName(**params)
change_column_name____id___.run()
# @output {"label":"dataframe","name":"change_column_name____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2.2 数据集列合并 概述
将两个包含相同行数的数据集,按照列拼接,形成一个新的数据集。
输出
数据集
参数说明
无
样例
inputs = {
"left_dataframe": None, # @input {"label":"left_dataframe","type":"DataFrame"}
"right_dataframe": None # @input {"label":"right_dataframe","type":"DataFrame"}
}params = { "inputs": inputs
}column_append____id___ = MLSColumnAppend(**params)
column_append____id___.run()
# @output {"label":"dataframe","name":"column_append____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2.3 数据集聚合
概述
对数据集进行各种聚合运算,包括求平均值、最大值、最小值、方差,对某些列执行 分组操作。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
输出
数据集
参数说明
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}
7.5.1.2.4 数据集行合并
概述
两个数据集按照行合并为一个数据集
输入
参数 子参数 参数说明
inputs dataframe_a 被合并的数据集一 dataframe_b 被合并的数据集二
输出
"dataframe_a": None, # @input {"label":"dataframe_a","type":"DataFrame"}
"dataframe_b": None # @input {"label":"dataframe_b","type":"DataFrame"}
}params = { "inputs": inputs
}dataset_append____id___ = MLSDatasetAppend(**params)
dataset_append____id___.run()
# @output {"label":"dataframe","name":"dataset_append____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
参数说明
参数 子参数 参数说明
column_name - 列名,对该列按照过滤条件进行数据集的行过 滤
condition_map_str - 过滤条件组装后的格式化字符串,格式参考:
"!=:filter_value;IS
"=": "filter_value",
"!=": "filter_value",
">": "filter_value",
">=": "filter_value",
"<": "filter_value",
"<=": "filter_value",
"IS NULL": "",
"IS NOT NULL": "",
"BETWEEN":
"filter_value_left,filter_value_right",
"NOT BETWEEN":
"filter_value_left,filter_value_right",
"LIKE": "filter_value_expr",
"NOT LIKE": "filter_value_expr",
"REGEXP": "filter_value_expr"
}
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = {
7.5.1.2.6 数据集连接
inputs left_dataframe inputs为字典类型,left_dataframe为执行连接操 作的左数据集
right_dataframe inputs为字典类型,right_dataframe为执行连接 操作的右数据集
join_type - 执行的连接类型字符串,例如:
"left join", "left outer join", "right join", "right outer join", "full join", "full outer join","cross join", "semi join", "left semi join", "anti join",
"left anti join"
样例
inputs = {
"left_dataframe": None, # @input {"label":"left_dataframe","type":"DataFrame"}
"right_dataframe": None # @input {"label":"right_dataframe","type":"DataFrame"}
}
7.5.1.2.7 数据集抽样
概述
按照配置的比例参数,对数据集进行随机抽样。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"fraction": 0.7, # @param
{"label":"fraction","type":"number","required":"true","range":"(0.0,1.0)","helpTip": ""}
"seed": 0 # @param
{"label":"seed","type":"integer","required":"true","range":"(0,2147483647]","helpTip":"seed"}
}dataset_sample____id___ = MLSDatasetSample(**params)
dataset_sample____id___.run()
# @output {"label":"dataframe","name":"dataset_sample____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
输入
参数 子参数 参数说明
inputs dataframe pyspark中DataFrame类型的对象
输出
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"fraction": 0.7, # @param
{"label":"fraction","type":"number","required":"true","range":"(0.0,1.0)","helpTip":""}
"seed": 0 # @param {"label":"seed","type":"integer","required":"true","range":"(none, 2147483647]","helpTip":""}
}mls_dataset_split____id___ = MLSRandomSplitDataset(**params)
mls_dataset_split____id___.run()
# @output {"label":"dataframe_1","name":"mls_dataset_split____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
# @output {"label":"dataframe_2","name":"mls_dataset_split____id___.get_outputs() ['output_port_2']","type":"DataFrame"}
7.5.1.2.9 数据集行去重
概述
“去重”节点用于删除数据集中的重复行(假如有两行相同,保留其中一行)。
对于那些不允许有重复记录输入的节点算法,可以先使用该算法做预处理。
输出
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs
}drop_duplicates____id___ = MLSDropDuplicates(**params)
drop_duplicates____id___.run()
# @output {"label":"dataframe","name":"drop_duplicates____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2.10 执行 spark sql 脚本 概述
对数据集执行spark sql脚本操作。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
输出
数据集
参数说明
参数 子参数 参数说明
sql_string - sql脚本的格式化字符串,例如:
"SELECT age FROM adult_table WHERE age >
"sql_string": "" # @param {"label":"sql_string","type":"string","required":"true","helpTip":""}
}execute_sql____id___ = MLSExecuteSql(**params)
execute_sql____id___.run()
# @output {"label":"dataframe","name":"execute_sql____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2.11 替换
概述
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
输出
数据集
参数说明
参数 子参数 参数说明
conditions_str - 替换条件组成的格式化字符串,例如:
"column_a,>,50,1" 表示将column_a列大于50的值 替换为1
"column_b,like,HS%,IS HS;column_c,between, 50,100,1;column_d,is null,0.0"
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
7.5.1.2.12 缺失值填充
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
输出
数据集
参数说明
参数 子参数 参数说明
input_features_str - 列名组成的字符串,例如:
"column_a"
"column_a,column_b"
missing_value - 类型为数值,表示该值为缺失值,将要被填充 strategy - 填充策略,支持mean和median
output_col_postfix - 输出特征列的后缀
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs, "b_output_action": True, "outer_pipeline_stages": None, "input_features_str": "", # @param
7.5.1.2.13 修改列数据类型
概述
修改数据集相应列的数据类型。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
timestamp_format - 取值yyyy-MM-dd HH:mm:ss date_format - 取值yyyy-MM-dd
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"column_type_map_str": "", # @param
{"label":"column_type_map_str","type":"string","required":"true","helpTip":""}
"timestamp_format": "yyyy-MM-dd HH:mm:ss", # @param
{"label":"timestamp_format","type":"string","required":"false","helpTip":""}
"date_format": "yyyy-MM-dd" # @param
{"label":"date_format","type":"string","required":"false","helpTip":""}
}
7.5.1.2.14 数据集选择列
概述
根据输入数据集,选择一些列生成新的数据集。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中 的DataFrame类型对象
输出
数据集
参数说明
参数 子参数 参数说明
select_columns_str - 将选择的列名按照逗号分隔形成的字符串,
例如:"column_a" 或者
"column_a,column_b,column_c"
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"select_columns_str": "" # @param
{"label":"select_columns_str","type":"string","required":"true","helpTip":""}
}select_columns____id___ = MLSSelectColumns(**params)
select_columns____id___.run()
# @output {"label":"dataframe","name":"select_columns____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2.15 设置元数据
输入
参数 子参数 参数说明
inputs datafra
me inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
e_map_str - 指定相应列的数据类型的规范化字符串,例如:
"column_a:string,column_b:integer",列类型可以是:
string,integer,long,float,double,bool,date,timestamp
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"column_type_map_str": "" # @param
{"label":"column_type_map_str","type":"string","required":"true","helpTip":""}
}set_metadata____id___ = MLSSetMetadata(**params)
set_metadata____id___.run()
# @output {"label":"dataframe","name":"set_metadata____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.2.16 数据集按列排序
概述
对输入数据集,按照选择的一些列,进行排序,生成新的数据集。
输入
参数 子参数 参数说明
inputs dataframe inputs为字典类型,dataframe为pyspark中的
参数说明
参数 子参数 参数说明
columns_str - 选择的一些列,列名按照逗号分隔,例如:
"column_a"或者"column_a,column_b"
ascend_tags_s
tr - 对选择的列是升序还是降序,升序标记为1,降序
tr - 对选择的列是升序还是降序,升序标记为1,降序