Присвоение численных идентификаторов значениям переменных в файле данных

datascience.stackexchange https://datascience.stackexchange.com/questions/13436

  •  16-10-2019
  •  | 
  •  

Вопрос

У меня есть проблема, что у меня есть огромный файл исходных данных, который отображает текст для всех значений переменных вместо численных идентификаторов. Так, например, я хотел бы, чтобы переменный пол закодировал как 1 и 2 вместо «женщины» и «мужчины». И одинаково то же самое для 200 других переменных, из которых некоторые имеют до сотен различных значений переменных.

Следовательно, делать это вручную не на самом деле вариант здесь.

Может ли кто -нибудь указать мне на решение или намек на R, SPSS или Python, как я могу назначить численные идентификаторы каждому различному значению переменной?

Я думал, что это будет проблема, с которой сталкиваются другие люди, но я вообще ничего подобного не нашел.

Спасибо за любую помощь!

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

Решение

SPSS имеет команду AutorEcode, которая выполнит всю задачу с одной командой. Например:

AUTORECODE vr1 to vr100 /into Kvr1 to Kvr100/PRINT.

Это займет текстовые переменные VR1 в VR100 и переорирует их в новые числовые переменные KVR1 до KVR100, в которой каждая категория текста в старой переменной теперь автоматически пронумерована в новой переменной, а текстовая категория теперь используется в качестве метки значений.
А PRINT Subcommand покажет вам в окне вывода список всех номеров, выбранных для категорий текста в каждой переменной.
Обратите внимание - используя TO Конвенция (как в «VR1 -VR100») работает только тогда, когда переменные последовательно заказаны в файле. Если это не так, вы должны назвать их отдельно.

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

Вы можете использовать предварительную обработку Python Sklearn Метка. Анкет Вот какой -то пример кода с этой страницы с моими комментариями:

# Make a Label Encoder instance
le = preprocessing.LabelEncoder()

# Show it the data it has to encode, so your column
le.fit(["paris", "paris", "tokyo", "amsterdam"])

# Get a ordered list of all classes it found
list(le.classes_)

# Transform a column/list
le.transform(["tokyo", "tokyo", "paris"]) 

# Transform encoding back to original
list(le.inverse_transform([2, 2, 1]))

В R вы превращаете категориальную ценность в коэффициент.

dfr$id = as.numeric(factor(dfr$mycolumn))

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