华为云用户手册

  • 参数说明 参数 是否必选 参数说明 默认值 fraction 否 分割比例,比例值对应第一个数据集的行数。 0.7 id_col 否 id列,按比例拆分的情况下,如果设置该列,则该列相同的样本不会被拆分,按阈值拆分则设置该列无效。 无 threshold_col 否 用于阈值拆分的列。 无 thrshold 否 拆分阈值。 0.0 seed 否 随机数种子。 1234 如果设置fraction,则按照比例拆分,阈值列和阈值设置无效。
  • 样例 数据样本 鸢尾花数据集,species列代表鸢尾花种类,共有Iris-setosa、Iris-versicolor和Iris-virginica三种类别,每种类别样本数量为50。 图1 数据样本 配置流程 运行流程 参数设置 图2 参数设置(按比例拆分) 图3 参数设置(按阈值拆分) 按petal_width列划分,小于等于2.0的数据划分至子数据集1,大于2.0的数据划分至子数据集2。 查看结果 按比例拆分 图4 子数据集1 图5 子数据集2 按阈值拆分 图6 子数据集1 图7 子数据集2
  • Step6 提交ModelArts训练作业 参考Step2,修改外壳的配置文件。 填写OBS桶信息 obs_bucket = 'obs://my_bucket/my_object' 按需修改runner里的Adapter参数。 adapter=dict( requirements=f'{work_dir}/algorithm/requirements.txt', framework_type='PyTorch', framework_version='PyTorch-1.4.0-python3.6', instance_type='modelarts.p3.large.public', pool_id=None, downloads=dict( src=[f'{obs_bucket}/{alg_cfg["data_root"]}', f'{obs_bucket}/{alg_cfg["pretrained"]}'], dst=[alg_cfg['data_root'], alg_cfg['pretrained']], ), uploads=dict( src=[run_dir], dst=[f'{obs_bucket}/{run_dir}'], ), ), 在Terminal中输入下述命令来提交ModelArts训练作业完成训练。 python manage.py run --launch_remote --cfg algorithms/ivgPose/config/sample/config.py --gpus 0 提交完训练作业后,可以在ModelArts控制台交互式界面看到当前训练作业的状态(如排队中、运行中等),可以在config.py配置的{run_dir}/{训练作业名称目录}下看到ModelArts上的训练日志。
  • Step1 上传数据集到开发环境中 按照不同算法定义的数据结构和格式准备好数据集。 如果数据集在OBS桶里,在Terminal里可执行下述命令将OBS里的数据下载到Notebook环境中。 python manage.py copy --source obs://my_bucket/my_data_dir/ --dest /home/ma-user/work/my_data_dir 如果数据集比较小且存放在PC上。 如果使用的本地IDE是VS Code,可以通过拖放方式复制到VS Code连接的Notebook中。
  • Step2 修改配置文件 配置文件主要包括算法配置文件和算法参数文件,例如: 算法配置文件:./algorithms/ivgPose/config/sample/config.py 算法参数文件:./algorithms/ivgPose/config/sample/simplepose_resnet50_coco_256x192.py 根据需要修改训练相关参数,如数据集路径data_root、runner中的train_args参数以及train参数等。如下述代码所示。 config.py文件 train_args=dict( cfg=alg_cfg['cfg'], output_dir=run_dir, data_root=alg_cfg['data_root'], load_from=None, gpus=None, lr=None, max_epoch=5, samples_per_gpu=None, resume_from=None, pretrained=alg_cfg['pretrained'], train_data_root=None, val_data_root=None, ), simplepose_resnet50_coco_256x192.py文件 train = dict( save_period=-1, val_period=5, best_saver=dict(key_indicator='AP', rule='max'), ema=dict(type='ExpEMA') )
  • Step4 在开发环境中进行验证 在Terminal中执行下述测试命令,其中:--cfg为该预训练模型对应算法资产的配置文件路径,--load_from的值为待测试的模型路径,config.py为: python manage.py run --cfg algorithms/ivgPose/config/sample/config.py --pipeline evaluate --load_from ./model_zoo/ivgPose/body/simplepose_resnet50_coco_256x192.pth.tar 运行完毕后,在交互式输出界面或config.py配置的{run_dir}目录下的test.log可以看到验证过程的日志和结果。如下述信息所示: ivgpose-utils.py 133: Test: AP:0.735012 | AP .5:0.925143 | AP .75:0.813647 | AP (M):0.705874 | AP (L):0.778985 | AR:0.764798 | AR .5:0.933879 | AR .75:0.832966 | AR (M):0.732641 | AR (L):0.813304 | elapsed:00:28
  • Step5 推理 准备好待推理的图片,本小节以算法套件里内置的推理图片为例,原图片如下: 图1 待推理的图片 在Terminal中执行下述推理命令,其中--img_file的值为待推理图片的路径: python manage.py run --cfg algorithms/ivgPose/config/sample/config.py --pipeline infer --demo_type image_demo --load_from model_zoo/ivgPose/body/simplepose_resnet50_coco_256x192.pth.tar --img_path algorithms/ivgPose/algorithm/examples/images/body/human36m_s_01_act_02_subact_01_ca_01_000001.jpg --is_show 运行完毕后,在当前目录的export/exp_tmp下可以看到推理后的文件,打开后显示如下。 图2 推理后的文件
  • 输入参数说明 参数名称 参数说明 参数要求 input_words_col_name 分词列,即进行ngram分词处理的列 string类型;必填;仅支持单列 input_words_sep 分词列中的词分隔符 string类型;必填;默认为" " input_weight_col_name 分词行权重 string类型;表列为数值类型;非必填; vocab_words_col_name 词袋词汇表的词汇列列名 string类型;如果词袋表不为空,此项为必填 count_gram_col_name 每个ngram短语的词个数(n),如1-gram,2-gram...,显示1-n等 string类型;表列为数值类型;如果历史输出表不为空,此项为必填 count_word_col_name ngram短语列 string类型;如果历史输出表不为空,此项为必填 count_count_col_name ngram统计列 string类型;表列为数值类型;如果历史输出表不为空,此项为必填 order ngram最大单词个数,即n-gram的n integer类型;必填;order范围为[1,3]
  • 参数说明 参数 是否必选 参数说明 默认值 strata_col 是 分层列, 按此列进行分层采样。 无 sample_size 否 采样个数。为整数时:表示每个层的采样个数;为字符串时:格式为strata0:n0,strata1:n1,…表示每个层分别设置的采样个数。 无 sample_ratio 否 采样比例。为数字时:范围(0,1) 表示每个层的采样比例;字符串时:格式为strata0:r0,strata1:r1,…表示每个层分别设置的采样比例。 0.2 random_seed 是 随机种子。 123
  • 样例 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
  • 概述 采用卡方检验来进行特征选择。 卡方检验(Chi-Squared Test或χ2 Test)的基本思想是通过特征变量与目标变量之间的偏差大小来选择相关性较大的特征变量。首先假设两个变量是独立的,然后观察实际值与理论值的偏差程度,该偏差程度代表两个变量之间的相关性。如果某个特征变量与目标变量之间偏差程度越大,则它们的相关性越高,最后根据相关性对特征变量进行排序,并选择与目标变量相关性较大的特征变量。卡方检验中假设理论值为E,第i个样本的实际值为xi,则偏差程度的计算公式如下:
  • 准备数据 训练代码工程案例请参考:在gitee的ModelArts-Lab工程中,单击“克隆/下载”,然后单击“下载ZIP”,下载工程。解压缩“ModelArts-Lab-master.zip”文件,然后在“\ModelArts-Lab-master\official_examples\Using_MXNet_to_Create_a_MNIST_Dataset_Recognition_Application\codes”目录中获取到训练代码文件“train_mnist.py”。 数据集案例请参考:从MNIST官网下载“Mnist-Data-Set”数据集至本地,然后解压zip包,将“Mnist-Data-Set”文件夹下的所有文件上传至“test-modelarts2/dataset-mnist”OBS路径下。
  • 算子菜单 鼠标右键单击算子结点出现算子菜单,包含编辑、删除、高亮显示、设置参数、编辑代码、运行至此算子、运行当前算子、展示运行结果功能,如图3所示。算子菜单说明如表4所示。 图3 算子菜单 表4 算子菜单说明 菜单名称 操作说明 编辑 可对选中算子进行剪切、复制操作;选择粘贴,对之前复制的算子进行粘贴操作。 删除 对选中算子进行删除操作。 高亮显示 选择分支亮显,对选中算子所在算链分支高亮。 选择上行亮显,对选中算子前(包含该算子)的分支高亮。 选择下行亮显,对选中算子后(包含该算子)的分支高亮。 选择取消高亮,使其恢复正常状态。 设置参数 单击“设置参数”,算链界面右侧滑出参数编辑框。 修改参数后,单击“确定”,保存参数设置;单击“取消”则不保存。 编辑代码 单击“编辑代码”,算链界面右侧滑出编辑代码框,如图4所示。 上方为自定义编辑算子框,可编辑代码; 单击“执行代码”,结果将展现在代码执行结果框; 单击“保存”,则将修改后的代码保存并退出边界代码界面; 单击“取消”,则不保存且退出; 右上角为控制选择项,选中“代码”即展示代码;选中“结果”即显示结果;单击“全屏”,编辑界面将铺满算链编辑界面;单击“退出全屏”则取消全屏。 运行至此算子 算链运行至该算子。 运行当前算子 算链运行当前选中算子。 展示运行结果 展示当前选中算子的运行结果,如果该算子为未运行状态,则运行至当前算子后,展示结果。 图4 编辑算子代码
  • Kernel切换及状态 在Jupyter体系结构中,Kernel是由服务器启动的独立进程,不同的Kernel具有不同的编程语言和环境,用户可通过kernel运行代码。 目前,MLS的一个Editor对应一个Kernel,Editor中的所有算子会在此Kernel中运行。 Kernel切换及状态 同算链编排界面导航栏kernel切换及状态。 支持的Kernel 目前MLS仅支持PySpark-2.4.5。
  • 算子连线 算子之间的连线具有两种意义,分为控制流和数据流。 控制流表示连线两端算子具有控制关系,即算子运行顺序。 数据流表示连线两端算子之间具有数据交换关系(简称数据关系),具有数据关系的两个算子,源算子的某个输出为目标算子的某个输入。 MLS中未刻意区分这两种关系,一般而言,存在数据交换的算子同时具有控制关系和数据关系,而不存在数据交换的算子之间则仅具有控制关系。 表5 算子连线说明 流状态 状态说明 限制说明 数据流-单个输入输出 源算子具有单输出,目标算子具有单输入 如果源算子输出数据的类型和目标算子输入数据的类型不一致,则连线失败。 数据流-多个输入输出 源算子或目标算子具有多个输出或输入 会出现输入输出选择框,如果选择的源算子输出数据的类型和目标算子输入数据的类型不一致,则连线失败。 控制流 源算子和目标算子均无输出或输入 无。
  • 导航按钮 算链编排界面导航栏提供丰富的界面操作,包括运行、保存、清除、撤销、恢复等功能。 图1 算链编排界面导航栏 表1 导航栏功能说明 图标 操作名称 功能说明 运行算链 运行界面上的算链。 保存算链 保存算链。 清除算链 一键清除画布所有算子及连线。 撤销 撤销上一步的操作。键盘撤销操作也可实现该功能。 恢复 恢复撤销的操作。 剪切 选中界面上的算子,单击剪切图标即删除该算子。 可以使用键盘Shift选中多个算子,同时剪切。 剪切后可粘贴算子。 复制 选中界面上的算子,单击复制图标或键盘复制操作Ctrl+C,即复制该算子。 可同时复制多个算子。 粘贴 单击粘贴图标或键盘粘贴操作Ctrl+V,即可将复制算子粘贴在画布中。 添加评论 选中界面上的算子,单击添加评论,可以在画布空白处为该算子添加标注或注释。可以同时选中多个算子添加评论。 删除 选中界面上的算子,删除该算子。可删除多个算子。 水平排列 将画布中的算链进行水平方向的重排列。 垂直排列 将画布中的算链进行垂直方向的重排列。 转换至Notebook 将画布中的所有算链按照顺序转化为一个ipynb后缀格式的Notebook文件。 转换至Python 将画布中的所有算链按照顺序转化为一个py后缀格式的Python脚本。 算链发布 将算链一键发布至ModelArst Workflow。Workflow是邀测功能暂未上线。 放大 将画布放大。 缩小 将画布缩小。 自适应屏幕 将画布重定位到画布中间。 kernel切换 单击右上角kernel信息框,如,可切换kernel。 kernel状态 表示kernel处于空闲状态,表示kernel处于运行状态。
  • 界面菜单 在算链编辑区右键界面空白处,出现界面菜单,包含添加评论、全选、编辑、撤销、恢复、取消高亮功能。 图2 界面菜单 表2 界面菜单说明 操作名称 功能说明 添加评论 同导航栏添加评论功能。 全选 选中界面上所有算子和评论。 使用键盘全选键Ctrl+A也可实现该功能。 编辑 选中算子或评论,可进行剪切、复制操作;选择粘贴,对之前剪切、复制的算子或评论进行粘贴操作。 撤消 同导航栏撤消功能。 恢复 同导航栏恢复功能。 取消亮显 消除界面上所有高亮的算子和评论。
  • 参数说明 参数名称 是否必选 参数描述 默认值 join_column_pairs_str 是 关联条件,等式对之间以”;“分割,等式之间以”,“分割; eg. left_col1,right_col1;left_col2,right_col2; 无 join_type 是 支持左连接、右连接、内连接和全连接(left_join、right_join、inner_join和full join)。 left_join mapjoin 否 是否进行mapjoin优化(将小表进行broadcoast广播)。 true output_left_cols 否 左表输出字段列 如果不选择,则默认为所有字段 output_right_cols 否 右表输出字段列 如果不选择,则默认为所有字段
  • 样例 数据样本 "Persons" 表: Id_P LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing "Orders" 表: Id_O OrderNo Id_P 1 77895 3 2 44678 3 3 22456 1 4 24562 1 5 34764 65 配置流程 运行流程 算法参数设置 查看结果
  • 样例 数据样本为信用卡欺诈检测数据,包含Time,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16,V17,V18,V19,V20,V21,V22,V23,V24,V25,V26,V27,V28,Amount等特征。 图1 数据样本 配置流程 下图上边部分运行孤立森林算子,得到异常检测结果和孤立森林模型,下边部分加载保存的模型和新的数据进行预测。 图2 配置流程 参数设置 图3 参数设置界面 查看结果
  • 参数说明 参数 是否必选 参数说明 默认值 b_use_default_encoder 是 是否对数据中的类别型特征列进行编码处理。 True input_features_str 否 选择特征列,逗号分隔。 无 num_trees 是 孤立森林中树的个数。 100 bootstrap 是 采样数据构建孤立树时是否为有放回采样。 False max_samples 是 训练单棵孤立树的最大样本个数,改值小于1.0时该值乘以总样本数取整得到单棵孤立树的训练样本数,大于1.0时取整得到单棵数的训练样本数。 256.0 max_features 是 参与训练的特征数,小于等于1.0时特征为该值乘以总特征个数。 1.0 feature_vector_col 是 input_features_str中的特征列处理为向量列后的列名。 "assembled_features" prediction_col 是 预测结果列名。 "prediction" score_col 是 异常分数列,该列数值为孤立森林算法中每个样本的分数值,值越大异常可能越大。 "outlier_score" contamination 是 异常值比例,取值0到1浮点数,score_col列中数值大于contamination * 100%分位数值的样本视为异常值, 如果为0.0则prediction_col列输出均为0.0非异常。 0.0 contamination_error 是 计算分位数时允许的误差,如果为0.0则实际计算时为contamination * 0.01。 0.0 seed 是 随机种子。 0
  • 异常处理 Clone仓库失败。可能是网络原因问题。可以在JupyterLab的Terminal中通过执行git clone https://github.com/jupyterlab/extension-examples.git测试网络连通情况。 图6 Clone仓库失败 如果克隆时遇到Notebook当前目录下已有该仓库,系统给出提示仓库名称重复,此时可以单击“覆盖”继续克隆仓库,也可以单击取消。
  • 参数说明 参数 是否必选 参数说明 默认值 weight_col 是 权重列。 "weight" sample_size 否 采样数量。 100 sample_ratio 否 采样比例,范围(0,1),如果sample_size和sample_ratio同时设置,以sample_size为准。 0.2 with_replacement 是 是否有放回采样。 True partitions 否 分区数,有放回采样需设置该参数,数据量较大时可将该参数调大。 10 random_seed 否 随机种子。 1234
  • 样例 数据样本 id sentence label 1 ball ball fun planet galaxy 1 2 referendum referendum fun planet planet 0 3 planet planet planet galaxy ball 1 4 planet galaxy planet referendum ball 1 sentence ball ball ball referendum referendum planet planet ball 配置流程 运行流程 参数设置 结果查看 sentence words rawFeatures features rawPrediction probability prediction ball ball ball ['ball', 'ball', 'ball'] (8000,[5492],[3.0]) (8000,[5492],[0.6694306539426294]) [-7.115045557028399,-5.9949311191899355] [0.24599005712406302,0.7540099428759369] 1 referendum referendum ['referendum', 'referendum'] (8000,[999],[2.0]) (8000,[999],[1.0216512475319814]) [-9.561433564101923,-9.165985052719044] [0.402406373461625,0.5975936265383749] 1 planet planet ball ['planet', 'planet', 'ball'] (8000,[5492,6309],[1.0,2.0]) (8000,[5492,6309],[0.22314355131420976,0.0]) [-3.104090044788206,-2.2686204451354213] [0.3024897957164007,0.6975102042835993] 1
  • 参数说明 参数 是否必选 参数说明 默认值 sentence_col 是 文本列 "sentence" label_col 是 标签列(标签值需整数或浮点型) "label" words_col 否 用于分词后保存words的列名 "words" feature_col 否 用于保存feature的列名 "features" min_doc_freq 否 最小词数阈值 0 smoothing 否 平滑指数 1.0 prediction_col 否 用于保存prediction的列名 "prediction" raw_prediction_col 否 用于保存raw_prediction的列名 "raw_prediction" probability_col 否 用于保存probability的列名 "probability" raw_features_col 否 用于保存raw_features的列名 "raw_features" tf_num_features 否 tf-idf时用于保存的词的数量,建议不小于词汇种类 8000
  • Step3 使用ML Studio预测 新建一个预测算链。 拖拽读取模型算子至画布,设置“input_model_path”,为预测算链中保存模型路径,例如“./output/SalesForecast”。 拉取读取数据算子,设置“input_file_path”,为测试数据的文件路径,如“/home/ma-user/work/.ml-workspace/built-in-workflow/sales_forecast/sales_predict.csv”。 拉取模型应用算子,分别连接读取模型算子和读取数据算子,端口选择分别如图15和如图16所示。 图15 从读取模型算子连接模型应用算子 图16 从读取数据算子连接模型应用算子 最终预测算链如图17所示。单击运行,得到并查看预测运行结果。 图17 运行预测算链
  • Step2 使用ML Studio建模 从左侧资产浏览界面拖拽预置算子或自定义算子至右侧算链编辑界面,如图2所示,则创建算子成功。 图2 拖拽创建结点 在画布中,鼠标移至算子结点,从右侧输出端口,如图3所示,拖动连线至下一个算子结点,鼠标尽量放置至如图4 连线结束位置所示红框位置。 图3 从输出端口移动至下一结点 图4 连线结束位置 进行算子连线。 算子之间具有数据的流入流出关系,如果源算子与目标算子的输出输入端口数量都为1,则直接连线,如图4所示。 鼠标右键单击读取数据算子,选择“设置参数”,如图5所示在右侧滑出的参数设置窗口填写输入路径, 例如“/home/ma-user/work/.ml-workspace/built-in-workflow/sales_forecast/sales_train.csv”,表示读取文件为该路径下的“sales_train.csv”。 图5 读取数据参数设置 如果源算子和目标算子其中一个及以上具有多个输出输入端口,连线时需选择输入输出端口,如图6所示。 数据集分割算子连线随机森林回归算子,数据集分割算子具有输出端口datafram_1和dataframe_2,单击下拉框选择dataframe1为输出端口,随机森林回归算子只有输入端口dataframe,该步操作将数据dataframe1传入随机森林回归算子作为训练数据。 图6 数据集分割连线随机森林回归 右键单击随机森林回归算子,选择“设置参数”,在滑出的参数设置窗口填写标签列为“revenue”,如图7所示。 图7 随机森立回归参数设置 如图8所示,随机森林回归连线模型应用,随机森林回归算子输出pipeline_model传入模型应用算子, 作为模型应用算子的输入模型。 图8 随机森林回归连线模型应用 模型应用算子的dataframe由数据集分割算子的dataframe_2输入,如图9所示。 图9 数据集分割连线模型应用 添加回归评估算子作为评估算子,将其与模型应用连线,右键选择设置参数,填写标签列为“revenue”,如图10所示。 图10 回归评估参数设置 最后添加保存模型算子,将其与随机森林回归算子连线,右键该算子选择参数设置,如图11所示。填写模型保存路径(文件夹级)"./output/SalesForecast",表示输出模型保存到根目录下output/SalesForecast文件下。 图11 保存模型参数设置 算链创建完成,单击运行,耐心等待几分钟,运行成功,如图12所示。 图12 算链运行成功 如果运行失败,双击失败算子或者右键该算子选择编辑代码,如图13所示。在编辑算子代码界面可修改代码进行调试,如图14所示 。 图13 右键选择编辑代码 图14 编辑代码
  • 参数说明 参数名称 是否必选 参数说明 默认值 schema_str 是 非空字符串 schema:配置每一列对应的数据类型,格式为colname0 coltype0[, colname1 coltype1[, ...]]。例如:f0 string,f1 bigint,f2 double。 注意:配置的数据类型需要与CSV文件每一列的数据类型保持一致,否则该列内容会读取失败。 无 local_file_path 否 本地文件路径 非必须,可通过文件夹选取;仅当file_source为LOCAL时,该路径有效。 无 file_path 否 读取CSV文件的路径 当文件来源选择OBS时,支持输入OBS文件路径,此时路径必须以OBS://开头。 当文件来源选择OTHERS时,支持输入HDFS文件路径。 无 file_source 否 支持LOCAL、OBS和OTHERS。范围:['LOCAL','OBS','OTHERS'] LOCAL field_delimiter 否 字段分隔符;如果输入则必须为字符 , handle_invalid_method 否 处理无效值的方法(无效值表示schema_str中设置的数据类型和csv中的不符),取值如下: 1.ERROR:抛出异常 2.SKIP:使用csv中的格式替换 ERROR ignore_first_line 否 是否忽略第一行的数据。 如果原表中已有表头,则需要开启此开关,否则会报错。 FALSE quote_string 否 引号字符,设置用于转义引号值的单个字符。 " row_delimiter 否 行分隔符。 \n skip_blank_line 否 是否忽略空行。 如果为True,该行数据全空时忽略;否则不忽略。 TRUE 1. schema_str这个参数,相当于增加列名(如果csv没有列名,则增加列名,ignore_first_line需置为False) 或 重命名列名(如果csv有列名,可以改列名,ignore_first_line需置为True)。 2. 只支持string,bigint,double类型,之后如果是想改变数据类型,需使用新算子做类型转换;其中tinyint、smallint、int均为bigint类型,char、varchar、date等其他类型均为string类型。 3. 该算子默认以"\n"作为行分隔符,如果某一字段内部存在"\n",需要提前处理;例如;将"\n"提前替换为空格,防止读取失败。示例如下: import pandas as pd df = pd.read_csv("test.csv",index_col=0) df = df.replace(to_replace=r'[\n\r]', value=' ', regex=True, inplace=True) df.to_csv("output.csv")
  • 样例 数据样本 5.1,3.5,1.4,0.2,Iris-setosa 5.0,2.0,3.5,1.0,Iris-versicolor 5.1,3.7,1.5,0.4,Iris-setosa 6.4,2.8,5.6,2.2,Iris-virginica 6.0,2.9,4.5,1.5,Iris-versicolor 4.9,3.0,1.4,0.2,Iris-setosa 5.7,2.6,3.5,1.0,Iris-versicolor 4.6,3.6,1.0,0.2,Iris-setosa 5.9,3.0,4.2,1.5,Iris-versicolor 6.3,2.8,5.1,1.5,Iris-virginica 4.7,3.2,1.3,0.2,Iris-setosa 5.1,3.3,1.7,0.5,Iris-setosa 5.5,2.4,3.8,1.1,Iris-versicolor 配置流程 运行流程 算法参数设置 schema_str: sepal_length double, sepal_width double, petal_length double, petal_width double, category string 查看结果
共100000条