Я работаю над конвейером обработки данных, который включает обработку данных поведенческих опросов из нескольких шкал (например, шкалы Лайкерта, оценки частоты и категориальные данные). Моя цель — правильно закодировать эти смешанные шкалы, сохраняя при этом правильный ранг/порядок (например, гарантируя, что более высокие оценки Лайкерта указывают на более сильное согласие).
Однако я столкнулся с несколькими проблемами. с кодированием и сохранением ранга.
Вопрос:
Каковы надежные методы или лучшие практики для:
- Кодирование поведенческих шкал смешанного типа (например, шкалы Лайкерта, категориальные оценки, оценки частоты) с сохранением порядка и ранга.
- Обработка противоречивых наборов ответов в разных опросах ( например, 5-балльная или 7-балльная шкалы).
- Динамическое кодирование порядковых и категориальных переменных с соблюдением естественного порядка.
- Работа с пропущенными значениями и противоречивыми ответами в процессе кодирования.
Python ( Pandas, Scikit-learn)
Streamlit (для визуализации и отчетности)
Любые предложения по инструментам, рабочим процессам или алгоритмам для динамического и эффективного кодирования поведенческих данных будут с благодарностью приняты. Мне также хотелось бы знать, сталкивался ли кто-нибудь с подобными проблемами и нашел решения, которые работают с различными наборами данных. Я относительно новичок в этом конвейере данных. Заранее спасибо!
Ниже приведены подходы, которые я пробовал до сих пор, но ни один из них не дал надежного, обобщаемого решения:
Жесткий сопоставления кодирования для категорий и порядковых признаков, например:
{'Никогда': 0, 'Редко': 1, 'Иногда': 2, 'Часто': 3, 'Всегда': 4
Это стало невозможно контролировать в нескольких наборах данных с несколько разными наборами ответов (например, в некоторых опросах используются 5-балльные шкалы, в других — 7-балльные).
Кодировка LightGBM: I использовал LightGBM для динамического кодирования категориальных функций. Хотя он хорошо работает для определения важности признаков, он, похоже, не отражает и не поддерживает порядковый характер всех шкал.
Методы кластеризации для поиска закономерностей в ответах, но этот подход не учитывает естественный порядок некоторых порядковых шкал.
Горячее кодирование: при этом полностью утрачивается ранговая структура, что делает его непригодным для некоторых видов анализа.
Порядковое кодирование : Я также попробовал OrdinalEncoder из sklearn, но он не закодировал столбцы должным образом (в некоторых случаях результаты не соответствовали ожидаемому порядку или значению).
Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-and-or