Echanges autour d'EduPython.
Vous n'êtes pas identifié(e).
Pages : 1
Je n'arrive pas à comprendre le message d'erreur lors de l’exécution de ce petit bout de programme.
je suis preneur de toute remarque. merci d'avance.
import pandas as pd
from sklearn.neighbors import KNeighborsRegressor
from sklearn.model_selection import train_test_split
df = pd.read_csv ('IRIS.csv')
print(df.head())
print(df.info)
# definition des variables caractéristiques et cibles
a = df.loc[:,"petal_length"]
b = df.loc[:,"petal_width"]
x = list(zip(a, b))
y = df.loc[:,"species"]
# fractionner le data
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size= 0.20)
# Instanciation
knnr = KNeighborsRegressor ( n_neighbors = 3, metric = 'euclidean')
# Entrainement
knnr.fit(x_train, y_train)
# prediction
longueur = 2.5
largeur = 0.75
prediction = knnr.predict([[longueur, largeur]])Hors ligne
Bonjour,
Pourriez-vous joindre le fichier IRIS.csv pour que l'on puisse tester et éventuellement copier le message d'erreur que vous avez ?
Merci,
Vincent
Hors ligne
Merci, à force de penser, il s'avère que KNN regressor, n'accepte que des valeurs numériques.
Le data IRIs est celui du dataset de sickit learn.
Pas moyen de coller les datas.
Bref, j'ai ajouter un colonne pour remplacer les noms des iris par un chiffre. les species sont donc des chiffres. Et là cela fonctionne.
Merci de votre réponse.
cordialement.
import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsRegressor
from sklearn.model_selection import train_test_split
df = pd.read_csv ('IRIS_1.csv')
print(df.head())
print(df.info())
# definition des variables caractéristiques et cibles
a = df.loc[:,"petal_length"]
b = df.loc[:,"petal_width"]
x = list(zip(a, b))
y = df.loc[:,"species"]
# fractionner le data
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0,test_size= 0.20)
# Instanciation
knnr = KNeighborsRegressor ( n_neighbors = 3, metric = 'euclidean')
# Entrainement
knnr.fit(x_train, y_train)
# Précision
precision = knnr.score(x_test, y_test)
print("La précision pour KNN_R est :",precision)
# prediction
longueur = 6.9
largeur = 3.3
prediction = knnr.predict([[longueur, largeur]])
print(prediction )
# Affichage du résultat
resultat =" La prediction pour KNN_R est:"
if prediction[0] == 0:
resultat = resultat + "Setosa"
print(resultat)
if prediction[0] == 1:
resultat = resultat + "Versicolor"
print(resultat)
if prediction[0] == 2:
resultat = resultat + "Virginica"
print(resultat)Hors ligne
Pages : 1