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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *