Классификация типов переменных в списке переменных

Вопрос или проблема

У меня есть список из примерно 700 переменных, которые мне нужно очистить. Ситуацию усложняет то, что существуют разные числовые коды, которые сигнализируют о недопустимых значениях, и они различаются в зависимости от типа переменной. Я хотел бы узнать, могу ли я использовать какую-либо форму неконтролируемого обучения для помощи в этой задаче. Буду признателен за любые советы/предложения.

Позвольте мне пояснить, с чем я работаю.

Когда я упоминаю тип переменной, они все числовые, но я пытаюсь классифицировать их по категориям, таким как сумма в долларах, возраст, количество чего-либо, основываясь на названии переменной, так как правила для недопустимого флага различаются в зависимости от этих категорий.

По этой причине я хотел бы классифицировать свои переменные на такие категории, как:

  • Сумма в долларах
  • Возраст
  • Количество предметов
  • и т.д…

Вот пример того, как выглядят недопустимые значения:

Недопустимые значения для переменной типа “Количество предметов”:

  • 6,7,8,9

Недопустимые значения для переменной типа “Суммы в долларах”:

  • 99996, 99997, 99999

Некоторые дополнительные моменты:

  • Эти переменные имеют максимальные значения, например, 9 для количества предметов. Но это не самый надежный способ фильтрации, так как вполне может повлиять на другие типы, такие как суммы в долларах.

  • Названия переменных иногда могут сообщать о типе переменной

    1) В названии переменной может быть ключевое слово, такое как “N_”, чтобы указать, что переменная – это количество предметов.

    2) Иногда правило может быть не таким простым и может быть запутано другими ключевыми словами, например: N_ITEMS_PCT_50. Это на самом деле количество предметов с процентом более 50%, а не процентное значение.

Некоторые из характеристик, которые я собрал для измерения сходства:

1) Названия переменных, конечно же

2) Максимальные значения каждой переменной

3) Количество раз, когда возникает недопустимый флаг (для всех типов) для каждой переменной. Я бы сделал это, подсчитывая, сколько наблюдений попадает в диапазон недопустимых значений. Так что, если бы я сделал это для “количества предметов”, я бы подсчитал количество наблюдений от 6 до 9. Я бы вычислил еще один столбец, чтобы искать недопустимые суммы в долларах, подсчитав количество наблюдений между 99996 и 99999.

Мне интересно узнать, может ли этот подход быть жизнеспособным, так как я хотел бы иметь более структурированный процесс, чем это очень ручной процесс для 700 переменных. Буду признателен за любые идеи.

Спасибо

Вы не можете применять классификацию, поскольку у вас нет меток истинного значения для характеристик. Пометка характеристик может оказаться более трудоемкой, чем просто прямая очистка характеристик.

Существуют инструменты обработки данных, такие как Trifacta и Datameer, которые предназначены для решения подобных задач.

Ответ или решение

Классификация типов переменных в списке из 700 переменных

Вы задались важной задачей – провести очистку переменных в вашем наборе данных, состоящем из 700 элементов. Основной проблемой является наличие различных числовых кодов, сигнализирующих о недопустимых значениях, которые отличаются в зависимости от типа переменной. Давайте рассмотрим наиболее эффективные подходы к этой задаче, включая использование методов неум supervised learning.

Понимание переменных

Как вы отметили, все ваши переменные являются числовыми, но они могут представлять собой различные категории, такие как:

  • Долларовые суммы
  • Возраст
  • Количество предметов

Для решения вашей проблемы необходимо классифицировать переменные в соответствии с их типами, что позволит вам применять разные правила для обработки недопустимых значений.

Идентификация недопустимых значений

Каждый тип переменной имеет свои специфические недопустимые значения. Например, недопустимые значения для переменной «Количество предметов» могут находиться в диапазоне от 6 до 9, тогда как для «Долларовой суммы» – от 99996 до 99999. Поэтому разнообразие правил для разных категорий делает вашу задачу более сложной.

Подходы к классификации переменных

  1. Анализ имен переменных: Имена переменных могут содержать ключевые слова, которые помогут в классификации. Например, наличие «N_» может указывать на то, что переменная представляет количество предметов. Однако следует учитывать случаи, когда ключевые слова могут вводить в заблуждение, как в примере с N_ITEMS_PCT_50.

  2. Анализ максимальных значений и частоты недопустимых значений: Учитывайте максимальные значения переменных и частоту недопустимых значений. Например, если переменная имеет максимум 9 и частоту недопустимых значений, это может указывать на то, что это количество элементов.

  3. Кластеризация: Примените методы кластеризации, такие как k-средние или иерархическая кластеризация. Используйте составленные вами признаки (имена переменных, максимумы, частота недопустимых значений) для формирования кластеров, которые могут указывать на категорию переменной. Это может быть эффективным методом группировки схожих переменных.

  4. Системы рекомендаций на основе сходства: Вы можете использовать методы обработки естественного языка для анализа имен переменных с последующим использованием метрик схожести, таких как косинусное сходство, для группировки переменных. Это поможет не только в классификации, но и в выявлении связи между переменными.

  5. Обучение на основе правил: Если у вас не хватает данных для обучения моделей, рассмотрите возможность создания системы, основанной на правилах с использованием логики и условий для классификации переменных. Это может быть проще и быстрее, чем полностью автоматизированный подход.

Заключение

Классификация типов переменных – это сложный, но жизненно важный процесс, и использование методов неуправляемого обучения может значительно облегчить вашу задачу. Начните с анализа имен переменных и недопустимых значений, затем примените методы кластеризации для структурирования ваших данных.

Рекомендуется продолжить исследование инструментов, таких как Trifacta и Datameer, которые могут предложить специализированные решения для обработки данных и упростить вашу задачу.

Разумеется, каждая переменная уникальна, и процесс очистки данных может потребовать некоторой степени ручного вмешательства, однако вышеописанные методы смогут значительно сократить время на выполнение этой работы. Если у вас есть доступ к команде аналитиков, это также может помочь в дальнейшей разработке и улучшении процесса.

Оцените материал
Добавить комментарий

Капча загружается...