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

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

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

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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
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

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