1
resposta

Erro para testar usando o DecisionTreeClassifier

Estou tentando testar um array , funciona no linear porem no DecisionTreeClassifier ele da erro. NotFittedError: This DecisionTreeClassifier instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.

from sklearn.model_selection import cross_validate

SEED = 301
np.random.seed(SEED)

modelo = DecisionTreeClassifier(max_depth=2)
results = cross_validate(modelo, x, y, cv = 3, return_train_score=False)
media = results['test_score'].mean()
desvio_padrao = results['test_score'].std()
print("Accuracy com cross validation, 3 = [%.2f, %.2f]" % ((media - 2 * desvio_padrao)*100, (media + 2 * desvio_padrao) * 100))
teste=[50589 ,3 ,25898]
modelo.predict([teste])
1 resposta

Oi Wagner! Tudo bem com você? Eu espero que sim!

Primeiro, queria pedir desculpas pela demora em te trazer uma resposta.

Segundo a mensagem de erro que você informou, o erro aconteceu porque não ocorreu o treinamento do modelo para ser gerada uma predição com modelo.predict([teste]). Para solucionar esse erro, treine o modelo antes de chamar a predição utilizando o método o fit() da seguinte forma:

from sklearn.model_selection import cross_validate

SEED = 301
np.random.seed(SEED)

modelo = DecisionTreeClassifier(max_depth=2)
results = cross_validate(modelo, x, y, cv = 3, return_train_score=False)
media = results['test_score'].mean()
desvio_padrao = results['test_score'].std()
print("Accuracy com cross validation, 3 = [%.2f, %.2f]" % ((media - 2 * desvio_padrao)*100, (media + 2 * desvio_padrao) * 100))

teste=[50589 ,3 ,25898]
#adição do comando de treinamento do modelo
modelo.fit(treino_x, treino_y)
modelo.predict([teste])

Eu espero ter conseguido te ajudar! Se o problema persistir ou surgir outra dúvida estarei à disposição ;-)

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!