云服务器内容精选

  • 响应消息 响应参数请参见表17。 表17 响应参数说明 参数名称 参数类型 说明 job_name String 作业名称。 job_id String 作业的ID。 is_success Boolean 请求是否成功。 error_message String 请求失败时的错误信息,请求成功时无此字段。 error_code String 请求失败时的错误码,请求成功时无此字段。 create_time Long 作业的创建时间。 etl_uuid String 候选集ID。
  • 请求消息 请求参请参见表2。 表2 请求参数说明 参数名称 是否必选 参数类型 说明 workspace_id 否 String 工作空间ID,默认为0 job_name 是 String 训练作业名称,最大长度为20字符。 job_description 否 String 训练作业描述,最大长度为256字符。 algorithm_type 是 String 算法类型 INITIAL_PROFILES_GENERATION BUILD_RANK_UNIFORM_DATA_FROM_JSON algorithm_parameters 是 JSON 算法参数,每一种算法都有其特定的参数。 INITIAL_PROFILES_GENERATION,请参见表8 BUILD_RANK_UNIFORM_DATA_FROM_JSON,请参见表9。 data_source 是 List 算法数据源配置 INITIAL_PROFILES_GENERATION,数据源选择通用模板数据, BUILD_RANK_UNIFORM_DATA_FROM_JSON,数据源选择通用格式。 storage 是 JSON 请参见表6,存储平台。 offline_platform 是 JSON 请参见表3,离线计算平台信息。 表3 offline_platform参数说明 参数名称 是否必选 参数类型 说明 platform 是 String 平台名称,最大长度64,支持 DLI 。 platform_parameter 是 JSON 请参见表4,平台参数。 computing_resource 否 String 指定DLI运行任务的资源规格。 config_load_path 是 String 读取配置源路径。 表4 platform_parameter参数说明 参数名称 是否必选 参数类型 说明 cluster_name 是 String 集群名称。 cluster_id 否 String 集群ID。 表5 data_source参数说明 参数名称 是否必选 参数类型 描述信息 table_type_id 是 String 推荐通用数据模板 用户属性表USER_META 物品属性表ITEM_META 用户操作行为表USER_BEHAVIOR 数据格式请参见推荐系统离线数据源。 通用格式 GENERAL_FORMAT data_source_url 是 String 数据源路径,最大长度1000字符。 data_format 是 String 输入数据格式,可选值:csv、parquet、json、orc。 data_param 否 JSON 请参见表7,数据格式是csv的时候必选,其他可选。 start_time 否 String 文件开始时间,数据格式是json的时候必选,其他可选。 end_time 否 String 文件结束时间,数据格式是json的时候必选,其他可选。 表6 storage参数说明 参数名称 是否必选 参数类型 说明 user_profiles_table 否 JSON 用户属性存储表.请参见表8, algorithm_type为INITIAL_PROFILES_GENERATION时必选。 item_profiles_table 否 JSON 物品属性存储表请参见表8, algorithm_type为INITIAL_PROFILES_GENERATION时必选。 表7 data_param参数说明 参数名称 是否必选 参数类型 说明 header 是 Boolean 是否显示表头。 delimiter 是 String 分割符,最大长度10个字符。 quote 是 String 引用字符,最大长度10个字符。 escape 是 String 转义字符,最大长度10个字符。 表8 algorithm_parameters参数说明-INITIAL_PROFILES_GENERATION算子 参数名称 是否必选 参数类型 说明 输出路径(result_path) 是 String 所有输出数据(用户物品特征、特征映射、域特征值数目统计结果、训练集、测试集)的存储都路径,文件夹。 全局特征配置文件路径(global_features_information_path) 是 String 该文件为JSON格式,包含特征名、特征大类、特征值类型。全局特征文件详细内容可以通过查询全局特征配置获取。 高级设置(writer_parameters) 否 JSON 请参见表10。 表9 algorithm_parameters参数说明-BUILD_RANK_UNIFORM_DATA_FROM_JSON算子 参数名称 是否必选 参数类型 说明 输出路径(result_path) 是 String 所有输出数据(用户物品特征、特征映射、域特征值数目统计结果、训练集、测试集)的存储都路径,文件夹。 全局特征配置文件路径(global_features_information_path) 是 String 该文件为JSON格式,包含特征名、特征大类、特征值类型。全局特征文件详细内容可以通过查询全局特征配置获取。 算子类型(rank_etl_type) 是 Enum 排序数据处理算子类型。 每一种排序算法都需要进行特定的数据处理,需要根据使用的排序算法来选择排序数据处理类型。 LR、FM、FFM、DEEPFM和Pin这五种算法的数据处理互相通用。 策略参数(rank_etl_parameters) 是 JSON 请参见表11,每一种排序算法的数据预处理参数。 表10 writer_parameters高级设置参数说明 参数名称 是否必选 参数类型 说明 save_mode 否 String 对结果保存路径中已有宽表数据的保留方式: new(否,不保留任何已有的数据) append(是,保留全部已有的数据) overwrite(覆盖,将相同日期下的数据覆盖掉,保留不同日期下的数据) 表11 rank_etl_parameters参数说明-LR、FM、FFM、DEEPFM、PIN排序预处理算子共用 参数名称 是否必选 参数类型 描述信息 训练集测试集划分方式 (divide_by_time_or_rate) 是 String 按时间或比例划分训练集测试集。 可选值为TIME或RATE。 训练数据起始时间 (training_data_start_time) 否 Long 训练数据起始时间。 divide_by_time_or_rate为TIME时必填。取值不大于行为数据中的最大时间且不大于training_data_end_time。如:1541987933 训练数据终止时间 (training_data_end_time) 否 Long 训练数据终止时间。 divide_by_time_or_rate为TIME时必填。取值不大于行为数据中的最大时间且不小于training_data_start_time。如:1541987933 测试数据起始时间 (test_data_start_time) 否 Long 测试数据起始时间。 divide_by_time_or_rate为TIME时必填。取值不大于行为数据中的最大时间且不大于test_data_end_time。如:1541987933 测试数据终止时间 (test_data_end_time) 否 Long 测试数据终止时间。 divide_by_time_or_rate为TIME时必填。取值不大于行为数据中的最大时间且不小于test_data_start_time。如:1541987933 训练数据占比 (training_data_rate) 否 Double 训练数据在输入数据中的占比。divide_by_time_or_rate为RATE时必填。取值范围[0,1]。 测试数据占比 (test_data_rate) 否 Double 测试数据在输入数据中的占比。divide_by_time_or_rate为RATE时必填。取值范围[0,1]。 待提取用户特征 (user_features) 是 JSONArray 从全局特征文件提取输入的用户特征,对不同类型的特征进行相应的处理,处理后的数据用于排序模型训练。 特征必须来自用户属性配置表中定义的特征。 [{ "feature_name": "age", "feature_type": "numerical", "feature_type":"BASIC_INFO", "feature_process_parameters": { "discrete_method": "equal_distance_discrete", "lower_limit": 0.0, "upper_limit": 120.0, "distance": 20 } }, { "feature_name": "user_tag", "feature_type": "map", "feature_type":"TAGS", "feature_process_parameters": { "value_preserve_number": 4 } }] 待提取物品特征 (item_features) 是 JSONArray 从全局特征文件中提取输入的物品特征,对不同类型的特征进行相应的处理,处理后的数据用于排序模型训练。特征必须来自物品属性配置表中定义的特征。 [{ "feature_name": "product_name", "feature_type": "string", "feature_type":"BASIC_INFO", "feature_process_parameters": { } }, { "feature_name": "categories", "feature_type": "strArray", "feature_type":"BASIC_INFO", "feature_process_parameters": { "value_preserve_number": 3 } }] 正反馈行为类型 (positive_behaviors) 是 List[String] 正反馈行为类型的样本将被转换为排序数据中的正样本。取值必须来自行为表中”actionType”字段的值。示例: [click,collect,purchase,share] 负反馈行为类型 (negative_behaviors) 是 List[String] 负反馈行为类型的样本将被转换为排序数据中的负样本。取值必须来自行为表中”actionType”字段的值。示例:[view,dislike] 表12 特征信息及其处理方式 参数名称 是否必选 参数类型 说明 特征名称 (feature_name) 是 String 该特征的名称。 特征类型 (feature_type) 是 String 用户特征类型 : BASIC_INFO,基础信息类 TAGS,标签类 CONTEXT,上下文类 物品特征类型 BASIC_INFO,基础信息类 TAGS标签类 特征值类型 (feature_value _type) 是 String 该特征值的类型,支持4种不同类型的特征值,分别为: 单值枚举型(string):字符串型,每一个值都被当做是字符串来进行处理,大部分的特征值都属于这种类型; 单值数值型(numerical):每一个值都是一个数值,一般需要对这种类型的特征值进行离散化处理以降低特征维度; 多值枚举型(strArray):字符串数组型,每一个特征值都是一个不定长的字符串数组,例如商品的类别特征、用户的兴趣爱好等。排序预处理算子会将所有特征值规范到统一长度以便后续处理; KV数值型(map):Map[String,Double]型,每一个特征值都是一个不定长的key-value对,例如用户画像、物品画像等特征。排序预处理算子会将所有特征值规范到统一长度以便后续处理。 特征处理参数 (feature_process_parameters) 是 JSON 每一种类型的特征都有其对应的处理方式,需要用户提供相应处理所需要的参数。示例: { "discrete_method":"equal_distance_discrete", "lower_limit":0.0, "upper_limit":120.0, "distance":20 } 表13 离散方法及其对应的参数 参数名称 是否必选 参数类型 说明 离散方法(discrete_method) 等距离散 (equal_distance_discrete) 最小值 (lower_limit) 否 Double 如果特征值小于该值,则会被视为异常值进行处理。 用户可根据业务经验来确定该值,如果用户未提供该值,则会统计出数据中该特征的最小值作为输入。取值为 [Double.Minvalue, Double.MaxValue), 且必须小于参数“最大值”。 最大值 (upper_limit) 否 Double 如果特征值大于该值,则会被视为异常值进行处理。 用户可根据业务经验来确定该值,如果用户未提供该值,则会统计出数据中该特征的最大值作为输入。取值为 (Double.Minvalue, Double.Maxvalue], 且必须大于参数“最小值”。 距离 (distance) 是 Double 以该距离为间隔将特征区间划分为若干个片段,每一个片段对应一个离散值。取值为(0, Double.Maxvalue)。 等频离散 (equal_frequency_discrete) 最小值 (lower_limit) 否 Double 如果特征值小于该值,则会被视为异常值进行处理。 用户可根据业务经验来确定该值,如果用户未提供该值,则会统计出数据中该特征的最小值作为输入。取值为 [Double.Minvalue, Double.Maxvalue) ,且必须小于参数“最大值”。 最大值 (upper_limit) 否 Double 如果特征值大于该值,则会被视为异常值进行处理。 用户可根据业务经验来确定该值,如果用户未提供该值,则会统计出数据中该特征的最大值作为输入。取值为 (Double.Minvalue, Double.Maxvalue], 且必须大于参数“最小值”。 频率 (frequency) 是 Int 将特征值从小到大排列,每“频率”个值被划分为一个片段,每一个片段对应一个离散值。取值为(0, Int.Maxvalue)。 用户自定义离散 (user_define_discrete) 自定义区间列表 (period_list) 是 JSONArray 每一个区间的最小值、最大值、离散值都由用户来定义。 如果特征值位于某个区间的最小值最大值之间,则该特征值被离散为这个区间的离散值。 如果特征值不在用户定义的任何一个区间内,则被作为异常值进行处理。每一个区间都是半闭半开区间,即包含最小值但不包含最大值,不同区间之间不能重叠。示例: [ { "period_name": "young", "lower_limit": 0.0, "upper_limit": 18.0 } ,{ "period_name": "mid", "lower_limit": 18.0, "upper_limit": 60.0 } ,{ "period_name": "old", "lower_limit": 60.0, "upper_limit": 120.0 } ] 表14 用户自定义离散方法参数列表 参数名称 是否必选 参数类型 说明 最小值 (lower_limit) 是 Double 该区间的最小值。取值范围 [Double.Minvalue, Double.Maxvalue), 且必须小于参数“最大值”。 最大值 (upper_limit) 是 Double 该区间的最大值。取值范围 (Double.Minvalue, Double.Maxvalue], 且必须大于参数“最小值”。 区间名称 (period_name) 是 String 该区间对应的名称。 表15 多值枚举型特征处理参数列表 参数名称 是否必选 参数类型 说明 值保留个数 (value_preserve_number) 否 Int 多值枚举型特征的特征值保留个数,如果实际的值数目大于该值, 则多余的值会被删除;如果实际的值数目小于该值, 则保留所有值;如果用户未提供该参数,则会统计出 数据中该多值特征的最大取值数目作为输入。取值范围[1, 100]。 表16 KV数值型特征处理参数列表 参数名称 是否必选 参数类型 说明 值保留个数 (value_preserve_number) 否 Int KV数值型特征的特征值保留个数,如果实际的值数目大于该值, 则多余的值会被删除;如果实际的值数目小于该值, 则保留所有值;如果用户未提供该参数,则会统计出 数据中该KV数值型特征的最大取值数目作为输入。取值范围[1, 100]。
  • 特征工程管理页面 “特征工程”页面分为两个页签:特征处理工程和已发布服务。 “特征处理工程”页签列出了已有的特征工程列表信息,如图1所示。在该页签,用户可以新建特征工程、编辑特征工程信息、导出特征工程、复制特征工程、删除特征工程、将特征工程发布成服务,详情请参见表1。 “已发布服务”页签列出了已发布的特征工程服务信息,如图2所示。在该页签,用户可以查看发布服务的详情,创建特征工程任务,删除特征工程服务,详情请参见表1。 图1 特征处理工程页签 图2 已发布服务页签 表1 特征工程管理界面说明 页签 参数名称 参数说明 特征工程页面 创建特征工程。 根据特征工程名称关键字,快速查找特征工程。 单击图标,可查看Jupyterlab平台的环境信息,包括环境名称、状态、规格和剩余使用时间,停止运行环境的操作。 Spark资源环境信息,用于数据集分析以及Spark特征工程。包括资源ID、状态、规格以及删除资源的操作。 查看复制的特征工程的相关信息,包括任务类型、源特征工程、目标特征工程、创建时间和状态等信息。 特征工程页签 特征工程名 特征工程的名称。可以在创建特征工程时配置。 开发平台 特征工程处理数据集的计算平台。 包括如下开发平台: Jupyterlab Python Spark 环境信息 包括运行环境的资源配置信息(“2核|8G”等)和运行状态(“创建中”、“运行中”等)。 数据集 数据名称。 创建人 创建特征工程的用户。 创建时间 创建特征工程的时间。 简介 特征工程的描述。 进入特征工程操作界面。 编辑特征工程相关信息,包括工程描述、AI引擎、规格等。 删除特征工程。 单击操作列图标后显示的下拉框中展示此图标。 下载特征工程包。 单击操作列图标后显示的下拉框中展示此图标。 复制生成新的特征工程。 模型训练服务支持将特征工程复制到项目公开组的其他项目中,对其他项目的数据进行特征处理。也支持复制到当前项目中,对其他数据进行特征处理。 单击操作列图标后显示的下拉框中展示此图标。 将特征工程发布成服务。详情请参见发布服务。 开发平台为“JupyterLab”的特征工程操作列无此图标,此类特征工程的发布操作,通过在JupyterLab环境编辑界面,单击界面上方菜单栏中的发布图标完成,详情请参见发布算法工程服务。 已发布服务页签 服务名称 发布的特征工程服务名称。 特征工程名 发布服务基于的特征工程名称。 开发平台 特征工程处理数据集的计算平台。 创建人 发布服务的用户名。 创建时间 发布服务的时间。 活动时间 最新执行特征工程任务的时间。 简介 特征工程服务的简介。 查看特征工程服务详情,包括特征工程任务的列表信息。 创建特征工程任务。 删除特征工程服务。
  • 概述 采用卡方检验来进行特征选择。 卡方检验(Chi-Squared Test或χ2 Test)的基本思想是通过特征变量与目标变量之间的偏差大小来选择相关性较大的特征变量。首先假设两个变量是独立的,然后观察实际值与理论值的偏差程度,该偏差程度代表两个变量之间的相关性。如果某个特征变量与目标变量之间偏差程度越大,则它们的相关性越高,最后根据相关性对特征变量进行排序,并选择与目标变量相关性较大的特征变量。卡方检验中假设理论值为E,第i个样本的实际值为xi,则偏差程度的计算公式如下:
  • 样例 inputs = { "dataframe": None # @input {"label":"dataframe","type":"DataFrame"} } params = { "inputs": inputs, "b_output_action": True, "b_use_default_encoder": True, "input_features_str": "", # @param {"label":"input_features_str","type":"string","required":"false","helpTip":""} "outer_pipeline_stages": None, "label_col": "", # @param {"label":"label_col","type":"string","required":"true","helpTip":""} "chi_label_index_col": "label_index", # @param {"label":"chi_label_index_col","type":"string","required":"true","helpTip":""} "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","helpTip":""} "num_top_features": 50, # @param {"label":"num_top_features","type":"integer","required":"true","range":"(0,2147483647]","helpTip":""} "percentile": 0.1, # @param {"label":"percentile","type":"number","required":"true","range":"[0,1]","helpTip":""} "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"}
  • 参数说明 参数 子参数 参数说明 input_features_str - 输入列名组成的格式化字符串,例如: "column_a" "column_a,column_b" label_col - 目标列,基于该列进行卡方检验 chi_label_index_col - 目标列通过标签编码得到的新列名,默认为label_index chi_features_col - 调用spark卡方选择需要的输入特征向量列名,默认为input_features chi_output_col - 调用spark卡方选择需要的输入特征向量列名,默认为output_features selector_type - 卡方选择的选择方法,支持numTopFeatures,percentile,fpr,fdr,fwe num_top_features - 选择的特征个数,默认为50 percentile - 选择的特征个数占原始特征数量的比例,默认为0.1 fpr - 最高的p-value,默认为0.05 fdr - 期望的错误观察率的最大值,默认为0.05 fwe - 默认为0.05 max_categories - 特征的最大类别数,默认为1000
  • 参数说明 参数 是否必选 参数说明 默认值 feature_columns_str 是 特征列列名,支持多列用','分隔 "” label_column 是 标签列列名 "" discretization_columns_str 否 需要进行离散化特征列列名,支持多列用','分隔 "" method 是 过滤选择的方法,取值如下: IV:根据IV值计算特征的重要性,注:IV法仅支持2分类; Gini增益:根据Gini增益计算特征重要性; 信息增益:根据信息增益计算特征重要性; Lasso:采用Lasso回归计算特征重要性; "" select_feature_num 是 选择的TopN个特征,如果大于输入特征数,则输出所以特征 None discretization_method 否 离散化连续特征方法,取值如下: equidistant division:根据特征的最小、最大值等距离分隔 "" discretization_bin_num 否 离散化连续特征区间数量 None is_sparse 是 是否是K:V的稀疏特征 False kv_col 否 稀疏特征列名 "" item_spliter 否 K:V特征中每个item之间的分隔符 "," kv_spliter 否 K:V特征中每个key与value之间的分隔符 ":"