Как автоматически обнаруживать и исправлять противоречивые категориальные данные в больших наборах данных с помощью PythPython

Программы на Python
Ответить
Anonymous
 Как автоматически обнаруживать и исправлять противоречивые категориальные данные в больших наборах данных с помощью Pyth

Сообщение Anonymous »

Я работаю над проектом по науке о данных и сталкиваюсь с проблемами, связанными с противоречивыми категориальными данными, поступающими из разных источников.
Например, одна и та же категория отображается в разных формах:

Код: Выделить всё

"USA", "U.S.A", "United States", "Usa"
"Male", "M", "male", "m"
Из-за этой несогласованности моя модель машинного обучения создает ненужные категории и снижает точность.
Я попробовал базовый подход с использованием str.lower() и ручного сопоставления, но его невозможно масштабировать для тысяч категорий.
Вот что я сделал на данный момент:

Код: Выделить всё

import pandas as pd

df = pd.read_csv("dataset.csv")

# Normalize case
df['country'] = df['country'].str.lower().str.strip()

# Replace known variations
mapping = {
'usa': 'united states',
'u.s.a': 'united states',
'u.s.': 'united states'
}
df['country'] = df['country'].replace(mapping)

Это работает частично, но я хотел бы знать:
Существуют ли библиотеки или методы Python, которые могут автоматически обнаруживать и исправлять похожие категориальные значения?
Могу ли я использовать для этого нечеткое сопоставление или сходство строк (например, fuzzywuzzy или RapidFuzz)?
Какие лучшие практики используют специалисты по данным для поддержания качества и согласованности категориальных данных в масштаб?

Подробнее здесь: https://stackoverflow.com/questions/798 ... arge-datas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»