Arhn - архитектура программирования

Как я могу использовать метки с горячим кодированием с некоторыми классификаторами sklearn?

У меня есть задача классификации по мультиклассу с 10 классами. Поэтому я использовал OneHotEncoder sklearn для преобразования метки из одного столбца в метки из 10 столбцов. Я пытался подогнать тренировочные данные. Хотя мне удалось это сделать с помощью RandomForestClassifier, Я получил следующее сообщение об ошибке при установке с GaussianNB :

ValueError: bad input shape (1203L, 10L)

Я понимаю, что допустимая форма y в этих двух классификаторах различна:

ГауссовскийNB:

y : array-like, shape (n_samples,)

RandomForest:

y : array-like, shape = [n_samples] or [n_samples, n_outputs]

Вопрос в том, почему это? Разве это не противоречит «Все классификаторы в scikit-learn выполняют многоклассовую классификацию вне -коробка "? Есть ли способ обойти это? Спасибо!


Ответы:


1

Вопрос в том, почему это?

Это из-за небольшого недоразумения, в scikit-learn вы не кодируете метки, вы передаете его как одномерный вектор меток, поэтому вместо

1 0 0
0 1 0
0 0 1

вы буквально проходите

1 2 3

Так почему же случайный лес принимает другую схему? Потому что это не для настройки мультикласса! Это для нескольких ярлыков, где у каждого экземпляра может быть много ярлыков, например

1 1 0
1 1 1
0 0 0

Разве это не противоречит «Все классификаторы в scikit-learn делают мультиклассовую классификацию из коробки»?

Напротив - это самое простое решение - никогда не просить горячее, если оно не является мульти-этикеточным,

Есть ли способ обойти это?

Ага, только не кодируйте - передавайте сырые метки :-)

13.11.2016
  • Большой. Спасибо за пояснение! 14.11.2016
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..