我有一个csv格式的大型(150000)数据集。数据集在某些字段中有一些噪音和错误。我想读取此文件并使用svm(带有libsvm)对其进行分类。 我需要读取干净且可用的数据子集。选择10000个干净的随机记录,没有任何字段是嘈杂的。有噪音的文件的值为0或NA。我怎么能用matlab做到这一点?
答案 0 :(得分:0)
如果您需要合适的MATLAB解决方案,则需要制作自定义文件读取器。不过,这可能不值得付出努力。
我能想到的最快的解决方案是在使用grep
在MATLAB中加载文件之前,使用其他工具(例如csvread
)过滤掉所有错误的行。如果您有grep
,则可以删除带有“NA”的行:
cat file | grep --invert-match NA > file.filtered
您可以在没有MATLAB csvread
功能问题的情况下阅读file.filtered。您可以轻松地从MATLAB中删除0的行。