Como corrigir: valueerror: tipo de rótulo desconhecido: 'contínuo'
Um erro comum que você pode encontrar em Python é:
ValueError : Unknown label type: 'continuous'
Esse erro normalmente ocorre quando você tenta usar o sklearn para ajustar um modelo de classificação como regressão logística e os valores usados para a variável de resposta são contínuos em vez de categóricos.
O exemplo a seguir mostra como usar essa sintaxe na prática.
Como reproduzir o erro
Suponha que estejamos tentando usar o seguinte código para ajustar um modelo de regressão logística:
import numpy as np
from sklearn. linear_model import LogisticRegression
#define values for predictor and response variables
x = np. array ([[2, 2, 3], [3, 4, 3], [5, 6, 6], [7, 5, 5]])
y = np. array ([0, 1.02, 1.02, 0])
#attempt to fit logistic regression model
classifier = LogisticRegression()
classify. fit (x,y)
ValueError : Unknown label type: 'continuous'
Estamos recebendo um erro porque atualmente os valores da nossa variável de resposta são contínuos.
Lembre-se de que um modelo de regressão logística exige que os valores da variável resposta sejam categóricos , tais que:
- 0 ou 1
- “Sim ou não”
- “Sucesso ou fracasso”
Atualmente, nossa variável de resposta contém valores contínuos como 0 e 1,02 .
Como corrigir o erro
A maneira de resolver esse erro é simplesmente converter os valores contínuos da variável de resposta em valores categóricos usando a função LabelEncoder() do sklearn :
from sklearn import preprocessing
from sklearn import utils
#convert y values to categorical values
lab = preprocessing. LabelEncoder ()
y_transformed = lab. fit_transform (y)
#view values transformed
print (y_transformed)
[0 1 1 0]
Cada um dos valores originais agora é codificado como 0 ou 1 .
Podemos agora adaptar o modelo de regressão logística:
#fit logistic regression model
classifier = LogisticRegression()
classify. fit (x,y_transformed)
Desta vez não recebemos nenhum erro porque os valores de resposta do modelo são categóricos.
Recursos adicionais
Os tutoriais a seguir explicam como corrigir outros erros comuns em Python:
Como corrigir: ValueError: o índice contém entradas duplicadas, não pode ser remodelado
Como corrigir: erro de tipo: objeto de string ou bytes esperado
Como corrigir: TypeError: o objeto ‘numpy.float64’ não pode ser chamado