Rapid miner: CSV с реальными числами с запятыми вместо точек

У меня проблема с импортом файла CSV с помощью RapidMiner. Значения с плавающей запятой записываются с запятыми вместо разделительной точки между целыми и десятичными значениями.

Кто-нибудь знает, как правильно импортировать значения, отформатированные таким образом?

образец данных:

BMI;1;0;1;1;1;blue;-0,138812155;0,520378909;5;0;50;107;0;9;0;other;good;2011 BMI;1;0;1;1;1;pink;-0,624654696;;8;0;73;120;1;3;0,882638889;other;good;2011

Rapid miner на самом деле интерпретирует его как «полиномиальный». Принуждение к «реальному» приводит только к правильной интерпретации значения «0».

Спасибо


person fstab    schedule 04.05.2011    source источник
comment
Можете ли вы показать нам пару строк CSV, чтобы мы могли протестировать решения, которые могли бы прийти к нам, и не обнаружить позже, что они были неправильными?   -  person 700 Software    schedule 05.05.2011


Ответы (2)


Используйте точку с запятой в качестве разделителя. Вы можете использовать java.util.Scanner для чтения каждой строки. String.split() для разделения на точку с запятой. Когда вы получаете токен с запятой, вы можете использовать String.replace(), чтобы изменить запятую на десятичную. Тогда вы можете использовать Float.parseFloat()

Надеюсь, это ответит на ваш вопрос.

person JustinKSU    schedule 04.05.2011
comment
Спасибо за ответ. К сожалению, я только начал изучать RapidMiner, используя только графический интерфейс. Нет ли простого способа сделать это с помощью графического интерфейса? - person fstab; 05.05.2011
comment
Извиняюсь. Я не знаком с RapidMiner. Удачи. - person JustinKSU; 05.05.2011

Кажется, это очень старый запрос. Не уверен, что это поможет вам, но это может помочь другим в похожей ситуации.

Шаг 1: в операторе «Чтение CSV» в разделе «Мастер конфигурации импорта» убедитесь, что вы выбрали «Точка с запятой» в качестве разделителя.

Шаг 2: используйте оператор «Угадай тип». Тип фильтра атрибутов -> Подмножество, выберите атрибуты -> выберите атрибуты 8, 9 и 16 (на основе приведенного выше примера), измените «символ десятичной точки» на «,», и все должно быть настроено.

Надеюсь, это поможет (кому-то!)

person Bala Deshpande    schedule 04.12.2012