在matlab中读取csv文件的随机子集

时间:2013-05-04 22:31:45

标签: matlab csv dataset machine-learning svm

我有一个csv格式的大型(150000)数据集。数据集在某些字段中有一些噪音和错误。我想读取此文件并使用svm(带有libsvm)对其进行分类。 我需要读取干净且可用的数据子集。选择10000个干净的随机记录,没有任何字段是嘈杂的。有噪音的文件的值为0或NA。我怎么能用matlab做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您需要合适的MATLAB解决方案,则需要制作自定义文件读取器。不过,这可能不值得付出努力。

我能想到的最快的解决方案是在使用grep在MATLAB中加载文件之前,使用其他工具(例如csvread)过滤掉所有错误的行。如果您有grep,则可以删除带有“NA”的行:

cat file | grep --invert-match NA > file.filtered

您可以在没有MATLAB csvread功能问题的情况下阅读file.filtered。您可以轻松地从MATLAB中删除0的行。