2016-08-29 2 views
1

У меня есть набор данных, состоящий из 10^6 записей. Но проблема заключается в данных Imbalance.Данные о дисбалансе для классификации

Я создаю линейный классификатор с помощью Adboost. Но из-за данных о дисбалансе моя точность очень низкая. Как связаться с данными дисбаланса. Я использую Graphlab.

Вот простой код для балансировки данных:

safe_loans_raw = loans[loans[target] == 1] 
risky_loans_raw = loans[loans[target] == -1] 

# Undersample the safe loans. 
percentage = len(risky_loans_raw)/float(len(safe_loans_raw)) 
safe_loans = safe_loans_raw.sample(percentage, seed = 1) 
risky_loans = risky_loans_raw 
loans_data = risky_loans.append(safe_loans) 

Но точность до сих пор не может утверждение ли обеспечить эффективный подход к этому?

ответ

1

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

В моем опыте использование оштрафованных (или взвешенных) показателей оценки является одним из лучших способов (КОРОТКИЙ ОТВЕТ), однако (всегда есть, но!), Вы можете сослаться на следующие ресурсы, чтобы найти эффективный подход. Ваша проблема скорее скорее в научной проблеме, чем в проблеме с инструментом.

This должен обработать ситуацию, но убедитесь, что вы знаете фон перед его использованием.

Free

Not Free but more valuable

1

Как вы пришли к выводу, что низкая точность из-за дисбаланса данных? Поскольку на основе кода, который вы предоставили, loans_data должен иметь сбалансированные данные (приблизительно 50% рискованных кредитов и 50% безопасных кредитов). Пожалуйста, проверьте количество рискованных кредитов и безопасных кредитов после создания loans_data для подтверждения.

Плохая точность может быть из-за особенностей, которые вы выбрали для обучения своей модели или самих данных.

0

Вы также можете использовать параметр "class_weights="auto" в форсированных деревьях, который в определенной степени заботится о несбалансированных данных. Для получения дополнительной информации см. Здесь: default paramters

Смежные вопросы