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

Python Discussion :

Demande d'aide sur des exercices Python


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 1
    Par défaut Demande d'aide sur des exercices Python
    Bonjour tout le monde,

    J'ai besoin de votre aide, je suis un étudiant en marketing et je suis vraiment bloqué sur quelques exercices vous valider une matière (Python) pouvez-vous m'aider s'il vous plait.

    voici les exercices en question :

    QUESTION 1
    On s'intéresse dans cette question à l'estimateur des moindres carrés.

    On rappelle que celui-ci s'écrit de la forme suivante : β̂ =(X⊤X)−1X⊤*y pour une matrice d'observation X et un vecteur à expliquer y.

    Et y=(1,...,1)t∈R8
    On choisit y∈ℝ8, et pour X∈ℝ8×8 on prend X=I8+E où la matrice I8 est la matrice identité de taille 8, et E est la matrice partout nulle sauf le dernier élément de la première ligne qui vaut 1 (i.e. E1,8=1)

    Utiliser la librairie Numpy pour construire la matrice et calculer la valeur de la somme ∑8i=1βi
    Entrez la valeur de la somme ∑8i=1βi :

    QUESTION 2
    Donner le rang de la matrice X⊤X−I8 (on pourra le faire numériquement en utilisant la fonction np.linalg.eigvals de Numpy) :

    QUESTION 3
    Importer la base de données disponibles http://archive.ics.uci.edu/ml/machin...lity-white.csv

    Créer une matrice Z qui contient les 11 premières colonnes et toutes les lignes du tableau. On prendra pour y le vecteur qui contient la dernière colonne de ce tableau. On aura donc une matrice Z de taille 4898×11.

    On reprend l'estimateur des moindres carrés proposé ci-dessus:

    β̂ Z=(Z⊤Z)−1Z⊤y.

    Donner la valeur des résidus obtenus: ∥Zβ̂ Z−y∥22 ?

    On ne donnera que la partie entière de ce nombre.

    QUESTION 4
    On propose maintenant de faire un pré-traitement classique sur les colonnes de Z, que l’on appelle classiquement “standardisation des variables”. Cela consiste à retirer à chaque colonne sa moyenne, puis à la diviser par son écart-type. Après standardisation, chaque colonne a une moyenne nulle et une variance de 1.

    Implémenter la standardisation sur la matrice Z précédente. On note X la matrice ainsi obtenue. On reprend l'estimateur des moindres carrés proposé ci-dessus, cette fois pour la matrice X: β̂ X=(X⊤X)−1X⊤y.

    Donner la valeur de ∥Xβ̂ X−y∥22:

    Merci par avance
    Kev

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut


    Où bloques-tu dans ces exercices ? Qu'as-tu déjà fait ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 814
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Citation Envoyé par kvart Voir le message
    pouvez-vous m'aider s'il vous plait.
    Oui, on est là pour ça. Toutefois "aider" ne signifie pas "faire les choses à ta place"

    Citation Envoyé par kvart Voir le message
    je suis vraiment bloqué sur quelques exercices
    Ah, si tu es "vraiment" bloqué ça change tout.

    Citation Envoyé par kvart Voir le message
    Merci par avance
    https://www.lefigaro.fr/langue-franc...i-d-avance.php
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre averti Avatar de scrat51
    Homme Profil pro
    Doctorant
    Inscrit en
    Avril 2014
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2014
    Messages : 17
    Par défaut
    Bonsoir,

    Je reprends la conversation quelque années plus tard car je suis dans le même cas que la personne qui a créée le topic d'origine.

    Moi, je suis bloqué sur les questions 3 et 4. Les questions 1 et 2, c'est OK, j'ai bien compris !

    J'ai travaillé et codé quelque chose mais, mes résultats me semblent pas bon comparés au volume de données du CSV du départ. C'est pour ça que je vous écris pour demander de l'aide

    Je vous communique donc mon code pour que vous puissiez voir ce que j'ai fait et me dire où j'ai cafouillé !

    Merci d'avance 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
     
    #!/usr/env python 3
    import numpy as np
    import pandas as pd
    from numpy import linalg as NO
    from numpy import linalg as LA
     
    #Chargement des datas
    dataset = pd.read_csv('winequality-white.csv')
    #print (dataset.head())
     
    #Création des variables
    #Z = matrice Z
    #y = vecteur y
    Z = dataset[['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar', 'chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density', 'pH', 'sulphates', 'alcohol']] #the relevant column name
    y = dataset['quality'] #Variable indépendante
     
    #print ("Dataset in running....\n\n\n")
    #print ("Dataset is .....\n\n\n")
    #print (Z,y) #affichage du dataset final
     
    #Question 3 -calcul de beta Z avec la formule
    print ("Résidus en cours de calcul .\n\n")
    print ("=============================\n\n")
     
    #calcul de (Z ^T *Z)
    ZTZ = np.dot(Z.T,Z)
    #=debug
    #print (ZTZ)
     
    #calcul (Z ^T Z)^-1
    Zinv = np.linalg.inv(np.dot(Z.T, Z))
    #=debug
    #print (Zinv)
     
    #construction de beta
    betaZ = np.dot(Zinv, Z.T) @ y
    #=debug
    #print ("Beta Z devient : \n\n",betaz)
     
    ##calculs des résidus
    #Z * betaZ -> norme 2
    ZbetaZ = np.dot(Z, betaZ)
    normeZ = LA.norm(ZbetaZ)
    #=debug
    #print ("Zbetaz devient : \n\n",normeZ)
     
    #norme 2 de y
    norme_y = LA.norm(y)
    #print ("Norme 2 de y", norme_y)
     
    #Z * betaZ - y => norme 2
    residus = np.subtract(normeZ,norme_y)
    residus_1 = np.square(residus)
     
    print ("Résidus question 3 : \n",residus_1)
     
    #Question 4
    #Implémentation de la matrice Z
    #Matrice X est son résulat
     
    dataset_Z = dataset[['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar', 'chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density', 'pH', 'sulphates', 'alcohol']]
    dataset[['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar', 'chlorides', 'free sulfur dioxide', 'total sulfur dioxide', 'density', 'pH', 'sulphates', 'alcohol']] = (dataset_Z -dataset_Z.mean())/ dataset_Z.std()
     
    #X est la nouvelle matrice après standardisation 
    X = dataset
    #print (X)
     
    #calcul de (X ^T *X)
    XT = np.dot(X.T,X)
    #=debug
    #print (XT)
     
    #calcul de X inverse
    Xinv = np.linalg.inv(np.dot(X.T,X))
    #=debug
    #print (Xinv)
    #beta
    betaX = np.dot(Xinv,X.T) @ y
    #=debug
    #print ("Beta X devient : \n\n",betaX)
     
    ##calculs des résidus
    #Z * betaX -> norme 2
    XbetaX = np.dot(X,betaX)
    normeX = LA.norm(XbetaX)
    #=debug
    #print ("XbetaX devient : \n\n",normeX)
     
    #norme 2 de y
    norme_y = LA.norm(y)
    #print ("Norme 2 de y", norme_y)
     
    #X * betaX - y => norme 2
    residusX = np.subtract(normeX,norme_y)
    residusX_1 = np.square(residusX)
     
    print ("Résidus question 4 : \n",residusX_1)

  5. #5
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2022
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 21
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2022
    Messages : 10
    Par défaut help
    salut a tous c'est encore moi, j'espere que vous avez le temps à m'aider:
    l'enonce:
    Une matrice M = \{m_{ij}\} de taille {n}\times{n} est dite antisymétrique lorsque, pour toute paire d’indices i, j, on a m_{ij} = - m_{ji}.

    Écrire une fonction booléenne antisymetrique(M) qui teste si la matrice M reçue est antisymétrique.

    et mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    def antisymetrique(M):
        rang = len(M)
        res = False
        if  M == [] :
            res= True
        for i in range(rang):
            for j in range(rang):
                if i==j and M[i][j] == -(M[j][i]) :
                    res= True
                elif M[i][j] == M[j][i]:
                    res= False
        return res

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oh les boulets !

    Merci de créer votre propre sujet de discussion... et de lire les règles du forum. Et de poser une question...

Discussions similaires

  1. [Python 2.X] Demande d'aide sur Python 2.7 pour QGIS / PyQGIS (MAJ Champ existant en fonction d'un autre)
    Par philippe_schitter dans le forum Général Python
    Réponses: 6
    Dernier message: 15/03/2019, 14h06
  2. [Python 3.X] Aide sur un exercice d'apprentissage de Python
    Par ElMarquisOfSade dans le forum Général Python
    Réponses: 3
    Dernier message: 09/01/2019, 09h51
  3. demande d'aide sur python
    Par dekiss dans le forum Général Python
    Réponses: 2
    Dernier message: 01/03/2012, 16h05
  4. demande d'aide sur l'exercice de c++,urgent
    Par expertentout dans le forum C++
    Réponses: 3
    Dernier message: 21/01/2007, 22h05

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