在特征工程中选择数据失败是什么原因?
【摘要】 特征工程选择数据失败可能是文件太大、不止一个文件、非文本文件、目录层次较深,如果选择数据执行失败可以分析一下原因,然后修改一下生成的代码去处理;1) 文件太大需要修改一下选择数据生成的代码,可以先做一个sample,然后读取sample后的数据,样例代码如下:from naie.datasets import data_reference, save_dataset_entit...
特征工程选择数据失败可能是文件太大、不止一个文件、非文本文件、目录层次较深,如果选择数据执行失败可以分析一下原因,然后修改一下生成的代码去处理;
1) 文件太大
需要修改一下选择数据生成的代码,可以先做一个sample,然后读取sample后的数据,样例代码如下:
from naie.datasets import data_reference, save_dataset_entity
import pandas as pd
dataset = 'beijing' #@param {"type":"string","label":"数据集","required":true,"asyncConfig":{"type":"dataset"},"hyperParamType":"inDataset"}
dataset_entity = 'health' #@param {"type":"string","label":"数据集实例","required":true,"asyncConfig":{"type":"data","params":{"dataset":{"key":"dataset"}}},"hyperParamType":"inData"}
is_time_series = False #@param {"type":"boolean","label":"是否为时序数据"}
time_column = None #@param {"type":"string","label":"时间列","show":{"key":"is_time_series"},"required":true}
time_format = None #@param {"type":"string","label":"时间格式","options":[{"text":"自动解析","value":"\\None"},"timestamp(D)","timestamp(s)","timestamp(ms)","timestamp(us)","timestamp(ns)"],"show":{"key":"is_time_series"}}
id_column = None #@param {"type":"string","label":"ID列","show":{"key":"is_time_series"}}
do_analysis = False #@param {"type":"boolean","label":"是否检测周期与平稳性","helpTip":"开启后执行时间较长","show":{"key":"is_time_series"},"advanced":true}
attrs = {'is_time_series': is_time_series, 'time_column': time_column, 'time_format': time_format, 'id_column': id_column, "do_analysis": do_analysis}
datareference = data_reference.get_data_reference(dataset, dataset_entity, attrs=attrs) #@return {"variableType":"datareference","label":"数据引用变量名","attrs":{"dataset":{"key":"dataset"},"dataset_entity":{"key":"dataset_entity"},"attrs":{"key":"attrs"}},"helpTip":"当存在多个数据引用时,可重命名数据引用对象的变量名以避免冲突","required":true,"advanced":true}
datareference.download_dataset() # 将数据集文件下载到镜像本地
rows = 10000#@param {"type":"int","label":"采样行数","show":{"key":"rows"}}
df = pd.read_csv(datareference.get_local_path_file_list()[0],nrows=rows) # 采样10000行数据
new_dataset = 'beijing' #@param {"type":"string","label":"新数据集","required":true,"asyncConfig":{"type":"dataset"},"hyperParamType":"inDataset"}
new_dataset_entity = 'health_new' #@param {"type":"string","required": true,"label":"新数据实例名称","show":{"key":"new_dataset_entity"}}
data_reference.save_dataset_entity(new_dataset,new_dataset_entity,dataframe=df) # 创建一个新的数据集实例health_new
2) 不止一个文件、目录层次较深
当前可以通过获取路径然后拼接的方式获取文件的完整路径,后面支持在界面选择文件。
from naie.datasets import get_data_reference
data_reference = get_data_reference(dataset="air", dataset_entity="air_20181112")
file_paths = data_reference.get_files_paths()
通过file_paths来进行拼接;
3) 非文本文件
需要自己代码来处理,文件路径可以通过data_reference.get_files_paths()获取;
文章来源: zhuanlan.zhihu.com,作者:网络人工智能园地,版权归原作者所有,如需转载,请联系作者。
原文链接:zhuanlan.zhihu.com/p/377412441
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)