Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment réparer : ValueError : type d’étiquette inconnu : ‘ continu ’



Une erreur courante que vous pouvez rencontrer en Python est :

ValueError: Unknown label type: 'continuous'

Cette erreur se produit généralement lorsque vous tentez d’utiliser sklearn pour ajuster un modèle de classification tel que la régression logistique et que les valeurs que vous utilisez pour la variable de réponse sont continues au lieu de catégorielles.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Comment reproduire l’erreur

Supposons que nous essayions d’utiliser le code suivant pour ajuster un modèle de régression logistique :

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()
classifier.fit(x, y)

ValueError: Unknown label type: 'continuous'

Nous recevons une erreur car actuellement les valeurs de notre variable de réponse sont continues.

Rappelons qu’un modèle de régression logistique nécessite que les valeurs de la variable de réponse soient catégoriques telles que :

  • 0 ou 1
  • « Oui ou non »
  • « Réussir ou échouer »

Actuellement, notre variable de réponse contient des valeurs continues telles que 0 et 1.02 .

Comment réparer l’erreur

La façon de résoudre cette erreur consiste simplement à convertir les valeurs continues de la variable de réponse en valeurs catégorielles à l’aide de la fonction LabelEncoder() de 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 transformed values
print(y_transformed)

[0 1 1 0]

Chacune des valeurs d’origine est désormais codée sous la forme 0 ou 1 .

Nous pouvons maintenant adapter le modèle de régression logistique :

#fit logistic regression model
classifier = LogisticRegression()
classifier.fit(x, y_transformed)

Cette fois, nous ne recevons aucune erreur car les valeurs de réponse du modèle sont catégoriques.

Ressources additionnelles

Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes en Python :

Comment réparer : ValueError : l’index contient des entrées en double, ne peut pas être remodelé
Comment réparer : erreur de type : chaîne attendue ou objet de type octets
Comment réparer : TypeError : l’objet ‘numpy.float64’ n’est pas appelable

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *