Я пытаюсь применить новые методы кодирования для классификации.
Моя основная проблема - это проблема классификации по одной метке с большим количеством классов 1K +.
Я хочу построить классификатор, который можно было бы использовать с scikit-learn.
Что мне расширять, как мне строить?
Методология следующая:
- Создание кодировки для каждого класса с использованием одного из моих методов кодирования
- Преобразование каждого класса из обучающего набора в двоичный вектор
- Обучение классификатора на бит
- Использовать классификаторы для тестовых данных
- Преобразование прогнозов обратно в классы с использованием расстояния Хамминга (битовое расстояние)
- См статистику по прогнозам
Я хочу использовать функцию перекрестной проверки из 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)