Что делать, когда данные обучения имеют классификационные метки, но обязательная задача - вероятности? - PullRequest
0 голосов
/ 06 марта 2019

В проекте машинного обучения у меня есть некоторые обучающие данные о клиентах компании, которые включают в себя 20 функций ввода и метку, отражающую отзывы клиентов о маркетинговой кампании в виде Да / Нет ответов:

c1 => {f1_1,f2_1,...,f20_1} {Yes}

c2 => {f1_2,f2_2,...,f20_2} {No}

Требуется предсказать «вероятность принятия» каждого клиента в кампании.

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

Мне удалось извлечь величину корреляции каждого признака с классификационной меткой.

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

c1_score = w1(f1_1) + w2(f2_1) + ... + w20(f20_1)

c2_score = w1(f1_2) + w2(f2_2) + ... + w20(f20_2)

Если нет, есть ли другие предложения?

1 Ответ

2 голосов
/ 06 марта 2019

Требуется предсказать «вероятность принятия» каждого клиента в кампанию.

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

Скорее всего не .

Ваша задача, безусловно, классификация единица.

Большинство классификаторов на самом деле невыдать «жесткий» ярлык 0/1 в качестве вывода;по умолчанию они генерируют вероятности , которые впоследствии преобразуются в жесткие метки с помощью операции порогового значения (например, если вероятность p > 0.5, объявить 1, в противном случае объявить 0).

Теперь иногда случается, что бизнес-проблема по какой-то причине требует именно этих вероятностей, а не жестких меток (ваш случай такой, как и подавляющее большинство классификационных конкурсов в Kaggle );это, конечно, ничего не меняет в методологии (это все еще проблема классификации), за исключением удаления требования для этой последней операции порогового значения - которое в любом случае не является частью статистики часть проблемы, так как ответ на этот перекрестный проверенный поток правильно указывает:

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

Итак, вам нечем заняться, кроме как с использованием ваших обычных алгоритмов классификации, будь то логистическая регрессия, случайный лес и т. Д.,и просто используя соответствующий метод для возврата вероятностей вместо меток классов (например, метод predict_proba для логистической регрессии в scikit-learn и аналогично для других платформ / алгоритмов).

Вы также можете найти следующие мои ответы (и ссылки в них) полезными:

...