Вопрос

У меня проблема с импортом файла 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».

спасибо

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top