Java 使用Mahout 0.10将CSV文件转换为序列,以便使用随机林进行分类

Java 使用Mahout 0.10将CSV文件转换为序列,以便使用随机林进行分类,java,csv,mahout,random-forest,Java,Csv,Mahout,Random Forest,我有一个CSV文件,我想将其转换为SequenceFile,用于使用随机森林算法的分类任务。我如何使用 mahout 0.10和netbeans 我的数据包含数值和标称值: 使用中的CSV解析器读取文件 我快速查看了您的文件,您可以非常轻松地将这些no、yes和none值转换为boolean/null: ObjectRowListProcessor rowProcessor = new ObjectRowListProcessor(); rowProcessor.convertFields(C

我有一个CSV文件,我想将其转换为SequenceFile,用于使用随机森林算法的分类任务。我如何使用 mahout 0.10和netbeans

我的数据包含数值和标称值: 使用中的CSV解析器读取文件

我快速查看了您的文件,您可以非常轻松地将这些no、yes和none值转换为boolean/null:

ObjectRowListProcessor rowProcessor = new ObjectRowListProcessor();

rowProcessor.convertFields(Conversions.toBoolean("yes", "no")).set("metformin-rosiglitazone","metformin-pioglitazone","change","diabetesMed","readmitted")); //and all other fields where this makes sense.

rowProcessor.convertFields(Conversions.toLowerCase(), Conversions.toNull("none", "?")).set("another field", "and another field");

CsvParserSettings parserSettings = new CsvParserSettings();
parserSettings.setRowProcessor(rowProcessor);
parserSettings.setHeaderExtractionEnabled(true);

CsvParser parser = new CsvParser(parserSettings);

//the rowProcessor will be executed here.
parser.parse(YOUR_INPUT_HERE);

List<Object[]> rows = rowProcessor.getRows();
如果您更喜欢带有注释的对象,则可以使用BeanListProcessor(详细说明)。也许这对你来说是最好的办法

披露:我是这个图书馆的作者。它是开源的免费ApacheV2.0许可证