Moindres carrés numpy

Moindres Carres Numpy



Aujourd'hui, nous allons en apprendre davantage sur les moindres carrés dans les équations linéaires et sur la façon de mettre en œuvre la méthode des moindres carrés pour obtenir le meilleur ajustement pour la droite de régression dans les ensembles de données fournis. Mais avant cela, apprenons les bases de NumPy. NumPy est l'un des meilleurs packages mathématiques de Python qui fournit des services pour les tableaux et matrices multidimensionnels ainsi qu'un large éventail d'opérations numériques complexes pouvant être effectuées sur ces matrices/tableaux.

L'une des méthodes de Python lstsq() est utilisée pour trouver la ligne de régression de l'équation linéaire connue ax=b qui correspond le mieux à cette équation. Cela signifie que vous devez déterminer la ligne qui montre correctement la relation entre les points x et y si vos données indiquent qu'il y en a une. La ligne entre les deux points est appelée ligne de régression lorsqu'elle est utilisée pour trouver le moindre carré à travers cette équation, ax = b.

Syntaxe:

Commençons à apprendre le style d'implémentation de la fonction linalg.lstsq(). Tout d'abord, nous écrivons le nom de la bibliothèque que nous utilisons en Python, qui est 'numpy'. Ensuite, nous concaténons la fonction linalg() et concaténons la fonction lstsq(). La fonction linalg() signifie algèbre linéaire. Il est toujours utilisé avec la fonction lstsq() car il s'agit d'une expression algébrique linéaire. Après cela, nous passons les arguments entre les crochets de la fonction.









Paramètres:

Comprenons les paramètres de la fonction linalg.lstsq() :



point1 : C'est la matrice des coefficients.





point2 : Cette matrice ou ce tableau contient des variables dépendantes.

seconde : Le type de données est float. Le rapport rcond sert de seuil pour les valeurs singulières plus petites de point_1. Si une valeur singulière est inférieure à rcond fois le plus grand élément singulier de point_1, elle est considérée comme nulle lors de la détermination du rang.



Valeur de retour :

En retour, on obtient le moindre carré de la variable connue x dans l'équation ax=b.

Exemple 1:

Commençons à implémenter notre premier exemple de méthode des moindres carrés de la bibliothèque Python, NumPy. Tout d'abord, nous avons besoin d'un compilateur Python pour pouvoir y coder. Ouvrez le compilateur. Il faut aussi installer la librairie NumPy car on utilise une des fonctions de NumPy qui est la fonction lstsq(). Ensuite, vous devez y importer le package NumPy. Tout d'abord, écrivez le mot-clé 'import' qui indique au compilateur que nous allons importer le package. Ensuite, nous devons écrire le nom du package que nous utilisons dans la fonction qui est 'numpy'. Et puis, nous écrivons également le nom alternatif du NumPy 'np' car de nombreux programmeurs utilisent cette approche. C'est une bonne approche de programmation, et cela fait gagner du temps.

Après avoir importé le package, nous commençons à écrire la ligne de code que nous voulons faire. Nous imprimons d'abord les messages afin que l'utilisateur puisse facilement comprendre ce que nous faisons dans l'exemple en utilisant l'instruction print(). Nous créons le tableau unidimensionnel 'A' à l'aide de la fonction array(), puis l'imprimons en appelant l'instruction print(). Ensuite, nous créons un autre tableau unidimensionnel 'B' à l'aide de la fonction array() et l'imprimons à l'aide de la fonction print().

importer numpy comme par exemple.

imprimer ( 'Implémentation de la méthode des moindres carrés dans NumPy : ' )

UN = par exemple. déployer ( [ 1 , deux , 1 , 1 , 1 , deux , deux , 1 , 1 ] )

imprimer ( ' \n Le tableau A est : ' , UN )

B = par exemple. déployer ( [ 4 , 3 , 5 , 4 , deux , 3 , 6 , 3 , deux ] )

imprimer ( ' \n Le tableau B est : ' , B )

X = par exemple. graine de lin . lstsq ( par exemple. vstack ( [ UN , par exemple. ceux ( seulement ( UN ) ) ] ) . J , B , seconde = Aucun ) [ 0 ]

imprimer ( ' \n Le moindre carré est : ' , X )

Après la création des deux points A et B, nous implémentons la fonction lstsq(). Mais d'abord, nous utilisons la fonction vstack() pour empiler les éléments de 'A', séquentiellement. Ensuite, on prend la transposée du tableau « A ». Ensuite, nous passons la fonction vstack() comme premier argument de la fonction lstsq(). Le deuxième argument est le tableau 'B' et le troisième argument est 'rcond' dans lequel nous définissons la valeur de rcond comme 'none'. Ensuite, nous stockons la fonction entière dans un autre tableau nommé 'x' qui montre qu'il s'agit de l'équation linéaire variable connue, ax=b. Après cela, nous affichons les résultats, nous utilisons donc l'instruction print() pour cela et y passons le tableau 'x'.

Exemple 2 :

Maintenant, commençons à implémenter un autre exemple de moindres carrés NumPy. Nous importons toujours d'abord la bibliothèque que nous utilisons dans le programme qui est NumPy. Tout d'abord, nous écrivons le mot-clé 'import' pour obtenir le package dans le programme. Nous écrivons également le nom du package qui est 'numpy' puis son alias, 'np'. Ensuite, nous appelons la méthode print() afin que nous puissions afficher le message retable des moindres carrés pour une meilleure compréhension de l'utilisateur.

Ensuite, nous créons le nom du tableau 'x_axis' et y stockons le tableau à l'aide de la fonction arange(). Ensuite, nous l'imprimons en utilisant la méthode print(). Ensuite, nous créons un autre nom de tableau 'y_axis' et y stockons le tableau que nous avons créé dans l'illustration suivante.

Après avoir créé les deux tableaux, nous implémentons la méthode ones () sur le tableau x_axis et le stockons dans un autre tableau nommé 'array_a'. Et puis, nous imprimons également ce tableau. Nous créons un autre tableau nommé 'arg_reg_line' et implémentons une fonction linalg.lstsq() dessus. Ensuite, nous passons les paramètres à cette fonction afin que nous puissions obtenir les moindres carrés entre deux tableaux ou points. Le premier paramètre est que nous prenons la transposition de array_a. Le deuxième paramètre est le deuxième point qui est l'axe y_axis. Ensuite, nous avons « rcond » qui contient la valeur « none ». Nous affichons ensuite le tableau en utilisant la méthode print().

importer numpy comme par exemple.

imprimer ( 'Implémentation de la fonction linalg.lstsq() : ' )

x_axis = par exemple. arranger ( 0 , dix )

imprimer ( ' \n La valeur de l'axe x est : ' , x_axis )

axe_y = [ 10.3 , 10.5 , Onze , 11.5 , 13.2 , 13.9 , 14 , 15.5 , 16.6 , 17 ]

imprimer ( ' \n La valeur de l'axe y est : ' , axe_y )

tableau_a = par exemple. déployer ( [ x_axis , par exemple. ceux ( dix ) ] )

imprimer ( ' \n Le tableau est : \n ' , tableau_a )

arg_reg_line = par exemple. graine de lin . lstsq ( tableau_a. J , axe_y , seconde = Aucun ) [ 0 ]

imprimer ( ' \n Les paramètres de Regrssion Line sont : ' , arg_reg_line )

reg_line = arg_reg_line [ 0 ] * axe_x + arg_reg_line [ 1 ]

importer matplotlib. pyplot comme plt

plt. terrain ( x_axis , reg_line , 'r-' )

plt. terrain ( x_axis , axe_y , 'O' )

plt. Titre ( 'Ligne de régression linéaire' )

plt. xétiquette ( 'Axe X' )

plt. ylabel ( 'Axe Y' )

plt. Afficher ( )

Voici le résultat de l'exemple précédemment implémenté :

Nous importons un autre package de NumPy qui est le package 'matplotlib' qui est utilisé pour tracer le graphique. Ensuite, nous traçons les valeurs x_axis et y_axis_values. Ensuite, nous définissons le titre et les étiquettes du graphique. Enfin, nous affichons le graphique en utilisant la méthode show().

Voici le graphique souhaité de l'exemple donné :

Conclusion

Dans cet article, nous avons appris ce qu'est le moindre carré et comment obtenir le linalg.lstsq() de la variable inconnue x en utilisant l'équation linéaire ax=b. Nous avons utilisé plusieurs fonctions de NumPy pour trouver les moindres carrés et implémenté quelques exemples avec des explications détaillées pour une meilleure compréhension de l'utilisateur.