Как создать свой собственный многослойный классификатор, который поддерживает cross_val_score из scikit-learn - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь применить новые методы кодирования для классификации. Моя основная проблема - это проблема классификации по одной метке с большим количеством классов 1K +. Я хочу построить классификатор, который можно было бы использовать с scikit-learn. Что мне расширять, как мне строить?

Методология следующая:

  1. Создание кодировки для каждого класса с использованием одного из моих методов кодирования
  2. Преобразование каждого класса из обучающего набора в двоичный вектор
  3. Обучение классификатора на бит
  4. Использовать классификаторы для тестовых данных
  5. Преобразование прогнозов обратно в классы с использованием расстояния Хамминга (битовое расстояние)
  6. См статистику по прогнозам

Я хочу использовать функцию перекрестной проверки из scikit-learn, но я хочу использовать ее для всей структуры, а не для каждого классификатора битов отдельно. Для этого я, вероятно, должен сделать свой метод мета-классификатором. Учитывая, что у меня есть несколько битов, это должен быть классификатор с несколькими метками.

Я искал на мультиклассе scikit-learn , я пытался взглянуть на исходный код One-vs-All, чтобы увидеть, как они это делают, но мне не удалось понять.

Я положил код моей классификации ниже.

Спасибо всем за потраченное время.

for i in encoded_train.columns:
    dt = DecisionTreeClassifier(max_depth=40, min_samples_split=100, random_state=1)
    dt.fit(X_train, encoded_train[i])
    predictions = dt.predict(X_test)
    results[i] = predictions
    # rf = DecisionTreeClassifier(max_depth=40, min_samples_split=100, random_state=1)
    # scores = cross_val_score(rf, X_train, y_train, cv=10)
y_pred = decode_users(results, dict_code_user)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...