IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques d'apprentissage automatique Discussion :

regression knn avec scikit learn


Sujet :

Bibliothèques d'apprentissage automatique

  1. #1
    Membre du Club
    Femme Profil pro
    Ergonome
    Inscrit en
    février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : février 2016
    Messages : 53
    Points : 43
    Points
    43
    Par défaut regression knn avec scikit learn
    bonjour

    je veux faire une régression du plus proche voisin pour une base de donnée contenant 4 colonnes 2 variables significatives(v2 et v3) et une variable cible(v1) en groupant par la variable 4, je réussis à faire la régression et aussi un plot qui me dessine mes valeurs et les valeurs prédites , je veux savoir si il y a une autre manière de visualiser les résultats et si il y a une méthode qui me permet de choisir le k optimal à utiliser

    voici un échantillon de la base de donnée que j'utilise,

    ci-joint le code que j'ai effectué jusqu'à maintenant merci pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    mesures_names=['v2','v3'] 
    df1=df[['v2','v3']]
    df1=(df1-np.mean(df1))/np.std(df1)
     
    angle=np.unique(df['v4'])
    longueur_tableau=len(angle)
    df[['v1']]=(df[['v1']]-np.mean(df[['v1']]))/np.std(df[['v1']])
    Mesure_train,Mesure_test,y_train,y_test=train_test_split(df1,df[['v1']],test_size=0.2,random_state=42)
    y=[]
    z=[]
    for i in range(len(angle)):
            k=[]
            y_pred_train=[]
            i_angle=  df['v4'] == angle[i]
            x=Mesure_train[i_angle].as_matrix().astype(np.float)     
            k=y_train[['v1']][i_angle].as_matrix().astype(np.float)
            y.append(k)
            Kneighbor_regression=KNeighborsRegressor(n_neighbors=10,weights='distance')
            Kneighbor_regression.fit(x,k)       
            y_pred_train=Kneighbor_regression.predict(x)
            z.append(y_pred_train)
            score_train=np.round(r2_score(k,y_pred_train),4)*100
            print "pour l'angle %s nous avons un pouvoir predictif de %s"%(angle[i],score_train)
            y_pred_test=Kneighbor_regression.predict(Mesure_test[i_angle])
            score_test=np.round(r2_score(Mesure_test[i_angle],y_pred_test),4)*100
            print "pour l'angle %s nous avons un pouvoir predictif de %s"%(angle[i],score_train)
            print "pour l'angle %s nous avons un pouvoir predictif de %s"%(angle[i],score_test)
     
    for xe, ye,ze in zip(angle,y,z):
                plt.xticks(angle,rotation=45)
                plt.scatter([xe]*len(ye),ye,c='b', label='data')
     
                plt.scatter([xe]*len(ze),ze,c='r',label="prediction")
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Femme Profil pro
    Ergonome
    Inscrit en
    février 2016
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : février 2016
    Messages : 53
    Points : 43
    Points
    43
    Par défaut
    Bonjour

    le deuxième problème c'est que quand je vois le r2 de l échantillon d’apprentissage et celui test y a une grande différence entre les deux je sais pas si j'ai fais une faute dans mon code sans faire attention

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probléme d'utilisation de scikit learn avec une dataframe de pandas
    Par fafa isfan dans le forum Bibliothèques d'apprentissage automatique
    Réponses: 1
    Dernier message: 13/06/2016, 11h45
  2. Regression logistique avec stratification
    Par Lasse dans le forum SAS STAT
    Réponses: 0
    Dernier message: 16/07/2012, 11h55
  3. Regression linéaire avec incertitudes en x et y
    Par oliverjack dans le forum R
    Réponses: 0
    Dernier message: 17/03/2012, 20h40
  4. regression spline avec la proc transreg
    Par nastassia dans le forum SAS STAT
    Réponses: 3
    Dernier message: 22/12/2009, 10h01
  5. regression puissance avec Excel
    Par smedini dans le forum Excel
    Réponses: 11
    Dernier message: 06/08/2008, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo