Как сопоставить должность сотрудника в базе данных, чтобы упростить имена

Готовлю анализ базы данных с сайта:

 https://www.kaggle.com/c/predicting-loan-default/data 

Моя переменная emp_length принимает около 3000 различных значений. Некоторые значения совпадают или содержат одно и то же ключевое слово (например, учетная запись, бухгалтер, бухгалтерский учет, специалист по учетным записям, акт.). Некоторые слова содержат ошибки или являются сокращениями. Я хочу уменьшить значения, чтобы упростить имена и закодировать как числовые значения. Я пытался найти ключевые слова с интеллектуальным анализом текста в R, но не уверен, что это правильный путь. У кого-нибудь есть идеи по этому поводу?

4
0
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте адаптировать этот подход "науки о данных":

Пример входных данных:

emp_length<-c("account","accountant","accounting","account specialist","Data Scientist","Data Science Expert")

Расстояние между строками + кластеризация

cluster<-kmeans(stringdistmatrix(emp_length,emp_length,method="jw"),centers=2)
cluster_n<-cluster$cluster

Возможная группировка этикеток

cbind(emp_length,cluster_n)
     emp_length            cluster_n
[1,] "account"             "2"      
[2,] "accountant"          "2"      
[3,] "accounting"          "2"      
[4,] "account specialist"  "2"      
[5,] "Data Scientist"      "1"      
[6,] "Data Science Expert" "1" 

Это может помочь в обнаружении метки для группировки и преобразования в числовой формат.

Хорошо, большое спасибо. У меня один вопрос, как выбрать центры, когда я не знаю, сколько у меня уровней?

anka0501 12.04.2018 21:15

Вы можете применить одну или несколько методик, описанных в этом разделе stackoverflow.com/questions/15376075/…, по матрице строк, чтобы найти оптимальное количество кластеров.

Terru_theTerror 13.04.2018 10:32

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