GridsearchCV: scoring='precision' возвращает ошибку

Я тренируюсь, чтобы принимать дерево решений на основе данных радужной оболочки.

Я хочу использовать GridsearchCV, чтобы дать мне наилучшие возможные параметры дерева. По умолчанию оценка является точной. И это хорошо работает (96%). Но когда я пытаюсь использовать scoring='precision' или scoring='recall', я получаю следующее сообщение об ошибке:

    # libs :
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import GridSearchCV


# database 'load_iris'
from sklearn.datasets import load_iris

iris = load_iris()    
X = iris.data
y = iris.target


# params to be searched :
param_grid = {'criterion': ['gini', 'entropy'], 
              'min_samples_split': [2, 10], 
              'max_depth': [None, 2, 5, 10, 15], 
              'min_samples_leaf': [1, 5, 10], 
              'max_leaf_nodes': [None, 5, 10, 15], 
             }


# classifier set up : 

dtc = DecisionTreeClassifier()

grid = GridSearchCV(dtc, param_grid, n_jobs=-1, scoring='precision', cv=None)
grid.fit(X, y)

выход:

ValueError: Цель является мультиклассовой, но средняя = "двоичная". Пожалуйста, выберите другую среднюю настройку.

Я знаю, что радужная оболочка содержит 3 класса, поэтому эта ошибка возникает? Как решить эту проблему, пожалуйста? Большое спасибо.

0 ответов

Другие вопросы по тегам