Как сообщить модели дисбаланса класса KNN и обеспечить ее соотношением дисбаланса класса? - PullRequest
0 голосов
/ 06 апреля 2020

Прежде чем задать этот вопрос, уверяю вас, я потратил 2 дня на изучение этой топи c на Inte rnet. Поскольку я не смог найти конкретный ответ, я беру этот вопрос здесь.

Я новичок в науке о данных и работаю над своим первым классом проекта по дисбалансу. Я пытаюсь построить модели, которые хорошо предсказывают, какие клиенты, скорее всего, не появятся на запланированной встрече. В моем наборе данных «1» - это люди, которые не появились, а «0» - это люди, которые появились.

Мой y_test содержит 1831 экземпляр «0» и 455 экземпляров «1». Мой класс интереса составляет 19,9% от общего числа y_test.

Я масштабировал свои данные и использовал масштабированный набор данных для оценки производительности KNN. Я узнал, что у KNeighborsClassifier есть аргумент "веса". Его значение по умолчанию не поможет мне с моим тяжелым дисбалансом класса. Используя опцию «расстояние», она лишь немного улучшает матрицу путаницы и оценку Ф1, но становится сильно перегруженной. Я заметил, что есть еще одна опция, называемая [callable]. Я читал об этом на scikit-learn.org и провел дополнительное исследование, но изо всех сил пытался понять, как я могу использовать его для информирования моего KNN о дисбалансе классов и соотношении классов (например, как я смог сделать для Logisti c Регрессия).

Учитывая знания ML моего новичка, аргумент "весов", кажется, единственный аргумент, который дает мне возможность сообщить KNN о дисбалансе классов, с которым я имею дело. Знаете ли вы, как я могу эффективно использовать этот аргумент, чтобы сделать KNN более осведомленным о дисбалансе классов? Документация не очень описательна, и библиотека Inte rnet не богата для настройки KNN для дисбаланса классов. Поэтому я обращаюсь сюда, чтобы узнать, есть ли у кого-то опыт корректировки KNN для дисбаланса в классе, и как это сделать эффективно.

Спасибо за помощь в обучении!

...