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