7.5 预置算子说明
7.5.1 数据特征
7.5.1.2 数据处理
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,降序
标记为0,按照逗号分隔,例如: "1"或者"1,0"
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs,
"columns_str": "", # @param {"label":"columns_str","type":"string","required":"true","helpTip":""}
"ascend_tags_str": "" # @param {"label":"ascend_tags_str","type":"string","required":"true","helpTip":""}
}sort_with_columns____id___ = MLSSortWithColumns(**params)
sort_with_columns____id___.run()
# @output {"label":"dataframe","name":"sort_with_columns____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
inputs dataframe inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
参数说明
参数 子参数 参数说明
input_col - 输入列名 output_col - 对应的输出列名
threshold - 阈值,列中大于该值的设置为1,小于该值的设置为 0
样例
inputs = {
"dataframe": None # @input {"label":"dataframe","type":"DataFrame"}
}params = { "inputs": inputs, "b_output_action": True, "outer_pipeline_stages": None,
"input_col": "", # @param {"label":"input_col","type":"string","required":"true","helpTip":""}
"output_col": "binarizered_feature", # @param
{"label":"output_col","type":"string","required":"true","helpTip":""}
"threshold": 0.0 # @param
{"label":"threshold","type":"number","required":"true","range":"(none,none)","helpTip":""}
}binarizer____id___ = MLSBinarizer(**params) binarizer____id___.run()
# @output {"label":"dataframe","name":"binarizer____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
7.5.1.3.2 卡方选择
概述
采用卡方检验来进行特征选择。
卡方检验(Chi-Squared Test或χ2 Test)的基本思想是通过特征变量与目标变量之间的 偏差大小来选择相关性较大的特征变量。首先假设两个变量是独立的,然后观察实际 值与理论值的偏差程度,该偏差程度代表两个变量之间的相关性。若某个特征变量与 目标变量之间偏差程度越大,则它们的相关性越高,最后根据相关性对特征变量进行 排序,并选择与目标变量相关性较大的特征变量。卡方检验中假设理论值为E,第i个 样本的实际值为xi,则偏差程度的计算公式如下:
输出
label_col - 目标列,基于该列进行卡方检验 chi_label_inde
x_col - 目标列通过标签编码得到的新列名,默认为label_index chi_features_c
ol - 调用spark卡方选择需要的输入特征向量列名,默认为
input_features
chi_output_col - 调用spark卡方选择需要的输入特征向量列名,默认为 output_features
selector_type - 卡方选择的选择方法,支持
numTopFeatures,percentile,fpr,fdr,fwe num_top_feat
ures - 选择的特征个数,默认为50
percentile - 选择的特征个数占原始特征数量的比例,默认为0.1 fpr - 最高的p-value,默认为0.05
fdr - 期望的错误观察率的最大值,默认为0.05
fwe - 默认为0.05
max_categorie
s - 特征的最大类别数,默认为1000
样例
"chi_features_col": "input_features", # @param
{"label":"chi_features_col","type":"string","required":"true","helpTip":""}
"chi_output_col": "output_features", # @param
{"label":"chi_output_col","type":"string","required":"true","helpTip":""}
"selector_type": "numTopFeatures", # @param
{"label":"selector_type","type":"enum","required":"true","options":"numTopFeatures,percentile,fpr,fdr,fwe","h
"fpr": 0.05, # @param {"label":"fpr","type":"number","required":"true","range":"[0,1]","helpTip":""}
"fdr": 0.05, # @param {"label":"fdr","type":"number","required":"true","range":"[0,1]","helpTip":""}
"fwe": 0.05, # @param {"label":"fwe","type":"number","required":"true","range":"[0,1]","helpTip":""}
"max_categories": 1000 # @param
{"label":"max_categories","type":"number","required":"true","range":"(0,2147483647]","helpTip":""}
}chi_square_selector____id___ = MLSChiSquareSelector(**params)
chi_square_selector____id___.run()
# @output {"label":"dataframe","name":"chi_square_selector____id___.get_outputs() ['output_port_1']","type":"DataFrame"}
inputs datafra
me inputs为字典类型,dataframe为pyspark中的 DataFrame类型对象
"2*column_a as new_column_a"
"abs(column_a) as new_column_a;case when