NumPy Ελάχιστα τετράγωνα

Numpy Elachista Tetragona



Σήμερα, θα μάθουμε για τα ελάχιστα τετράγωνα στις γραμμικές εξισώσεις και πώς να εφαρμόσουμε τη μέθοδο του ελάχιστου τετραγώνου για την καλύτερη προσαρμογή για τη γραμμή παλινδρόμησης στα παρεχόμενα σύνολα δεδομένων. Αλλά πριν από αυτό, ας πάρουμε τις βασικές γνώσεις του NumPy. Το NumPy είναι ένα από τα καλύτερα μαθηματικά πακέτα της Python που παρέχει υπηρεσίες για πολυδιάστατους πίνακες και πίνακες μαζί με ένα ευρύ φάσμα σύνθετων αριθμητικών λειτουργιών που μπορούν να εκτελεστούν σε αυτούς τους πίνακες/πίνακες.

Μία από τις μεθόδους της Python lstsq() χρησιμοποιείται για να βρεθεί η γραμμή παλινδρόμησης της γνωστής γραμμικής εξίσωσης ax=b που ταιριάζει καλύτερα με αυτήν την εξίσωση. Αυτό σημαίνει ότι πρέπει να προσδιορίσετε τη γραμμή που δείχνει σωστά τη σχέση μεταξύ των σημείων x και y, εάν τα δεδομένα σας υποδεικνύουν ότι υπάρχει. Η ευθεία μεταξύ των δύο σημείων είναι γνωστή ως γραμμή παλινδρόμησης όταν χρησιμοποιείται για να βρεθεί το ελάχιστο τετράγωνο μέσω αυτής της εξίσωσης, ax=b.

Σύνταξη:

Ας αρχίσουμε να μαθαίνουμε το στυλ υλοποίησης της συνάρτησης linalg.lstsq(). Αρχικά, γράφουμε το όνομα της βιβλιοθήκης που χρησιμοποιούμε στην Python που είναι 'numpy'. Στη συνέχεια, συνενώνουμε τη συνάρτηση linalg() και ενώνουμε τη συνάρτηση lstsq(). Η συνάρτηση linalg() σημαίνει γραμμική άλγεβρα. Χρησιμοποιείται πάντα με τη συνάρτηση lstsq() επειδή είναι μια γραμμική αλγεβρική έκφραση. Μετά από αυτό, περνάμε τα ορίσματα στις αγκύλες συναρτήσεων.









Παράμετροι:

Ας κατανοήσουμε τις παραμέτρους της συνάρτησης linalg.lstsq():



σημείο 1: Είναι ο πίνακας συντελεστών.





σημείο 2: Αυτός ο πίνακας ή ο πίνακας περιέχει εξαρτημένες μεταβλητές.

δεύτερον: Ο τύπος δεδομένων του είναι float. Ο δεύτερος λόγος χρησιμεύει ως διαχωρισμός για μικρότερες μοναδικές τιμές του point_1. Εάν μια μοναδική τιμή είναι μικρότερη από το δεύτερο επί του μεγαλύτερου μοναδικού στοιχείου του point_1, θεωρείται μηδέν κατά τον προσδιορισμό της κατάταξης.



Αξία επιστροφής:

Σε αντάλλαγμα, παίρνουμε το ελάχιστο τετράγωνο της γνωστής μεταβλητής x στην εξίσωση ax=b.

Παράδειγμα 1:

Ας αρχίσουμε να εφαρμόζουμε το πρώτο μας παράδειγμα μιας μεθόδου ελάχιστου τετραγώνου της βιβλιοθήκης Python, NumPy. Πρώτα, χρειαζόμαστε έναν μεταγλωττιστή Python για να μπορούμε να κωδικοποιήσουμε σε αυτόν. Ανοίξτε τον μεταγλωττιστή. Πρέπει επίσης να εγκαταστήσετε τη βιβλιοθήκη NumPy επειδή χρησιμοποιούμε μία από τις συναρτήσεις του NumPy που είναι η συνάρτηση lstsq(). Στη συνέχεια, πρέπει να εισαγάγετε το πακέτο NumPy σε αυτό. Πρώτα, γράψτε τη λέξη-κλειδί 'εισαγωγή' που λέει στον μεταγλωττιστή ότι πρόκειται να εισαγάγουμε το πακέτο. Στη συνέχεια, πρέπει να γράψουμε το όνομα του πακέτου που χρησιμοποιούμε στη συνάρτηση που είναι 'numpy'. Και στη συνέχεια, γράφουμε επίσης το εναλλακτικό όνομα του NumPy 'np' επειδή πολλοί προγραμματιστές χρησιμοποιούν αυτήν την προσέγγιση. Αυτή είναι μια καλή προσέγγιση προγραμματισμού και εξοικονομεί χρόνο.

Μετά την εισαγωγή του πακέτου, αρχίζουμε να γράφουμε την πραγματική γραμμή κώδικα που θέλουμε να κάνουμε. Εκτυπώνουμε πρώτα τα μηνύματα έτσι ώστε ο χρήστης να μπορεί εύκολα να καταλάβει τι κάνουμε στο παράδειγμα χρησιμοποιώντας την πρόταση print(). Δημιουργούμε τον μονοδιάστατο πίνακα 'A' χρησιμοποιώντας τη συνάρτηση array() και στη συνέχεια τον εκτυπώνουμε καλώντας την πρόταση print(). Στη συνέχεια, δημιουργούμε έναν άλλο μονοδιάστατο πίνακα 'Β' χρησιμοποιώντας τη συνάρτηση array() και τον εκτυπώνουμε χρησιμοποιώντας τη συνάρτηση print().

εισαγωγή μουδιασμένος όπως και π.χ.

Τυπώνω ( 'Εφαρμογή της μεθόδου του ελάχιστου τετραγώνου στο NumPy: ' )

ΕΝΑ = π.χ. πίνακας ( [ 1 , δύο , 1 , 1 , 1 , δύο , δύο , 1 , 1 ] )

Τυπώνω ( ' \n Ο πίνακας Α είναι: ' , ΕΝΑ )

σι = π.χ. πίνακας ( [ 4 , 3 , 5 , 4 , δύο , 3 , 6 , 3 , δύο ] )

Τυπώνω ( ' \n Ο πίνακας Β είναι: ' , σι )

Χ = π.χ. λιναρόσπορος . lstsq ( π.χ. vstack ( [ ΕΝΑ , π.χ. αυτές ( μόνο ( ΕΝΑ ) ) ] ) . Τ , σι , δεύτερον = Κανένας ) [ 0 ]

Τυπώνω ( ' \n Το ελάχιστο τετράγωνο είναι: ' , Χ )

Μετά τη δημιουργία και των δύο σημείων Α και Β, υλοποιούμε τη συνάρτηση lstsq(). Αλλά πρώτα, χρησιμοποιούμε τη συνάρτηση vstack() για να στοιβάξουμε τα στοιχεία του 'A', κατά σειρά. Στη συνέχεια, παίρνουμε τη μετάθεση του πίνακα 'A'. Στη συνέχεια, περνάμε τη συνάρτηση vstack() ως το πρώτο όρισμα της συνάρτησης lstsq(). Το δεύτερο όρισμα είναι ο πίνακας 'B' και το τρίτο όρισμα είναι 'rcond' στο οποίο ορίζουμε την τιμή του rcond ως 'none'. Στη συνέχεια, αποθηκεύουμε ολόκληρη τη συνάρτηση σε έναν άλλο πίνακα με το όνομα “x” που δείχνει ότι είναι η γνωστή μεταβλητή γραμμική εξίσωση, ax=b. Μετά από αυτό, εμφανίζουμε τα αποτελέσματα, οπότε χρησιμοποιούμε την πρόταση print() για αυτό και περνάμε τον πίνακα 'x'.

Παράδειγμα 2:

Τώρα, ας αρχίσουμε να εφαρμόζουμε ένα άλλο παράδειγμα ελαχίστων τετραγώνων NumPy. Πάντα εισάγουμε πρώτα τη βιβλιοθήκη που χρησιμοποιούμε στο πρόγραμμα που είναι το NumPy. Αρχικά, γράφουμε τη λέξη-κλειδί «εισαγωγή» για να λάβουμε το πακέτο στο πρόγραμμα. Γράφουμε επίσης το όνομα του πακέτου που είναι 'numpy' και μετά το ψευδώνυμό του, 'np'. Στη συνέχεια, καλούμε τη μέθοδο print() για να μπορέσουμε να εμφανίσουμε το μήνυμα με δυνατότητα επανάληψης των ελαχίστων τετραγώνων για καλύτερη κατανόηση του χρήστη.

Στη συνέχεια, δημιουργούμε το όνομα του πίνακα 'x_axis' και αποθηκεύουμε τον πίνακα σε αυτόν χρησιμοποιώντας τη συνάρτηση arange(). Στη συνέχεια, το εκτυπώνουμε χρησιμοποιώντας τη μέθοδο print(). Στη συνέχεια, δημιουργούμε ένα άλλο όνομα πίνακα 'y_axis' και αποθηκεύουμε τον πίνακα που δημιουργήσαμε στην παρακάτω εικόνα.

Αφού δημιουργήσουμε και τους δύο πίνακες, εφαρμόζουμε τη μέθοδο ones() στον πίνακα x_axis και την αποθηκεύουμε σε έναν άλλο πίνακα με το όνομα “array_a”. Και μετά, εκτυπώνουμε επίσης αυτόν τον πίνακα. Δημιουργούμε έναν άλλο πίνακα με το όνομα “arg_reg_line” και υλοποιούμε μια συνάρτηση linalg.lstsq() σε αυτόν. Στη συνέχεια, περνάμε τις παραμέτρους σε αυτή τη συνάρτηση έτσι ώστε να έχουμε τα ελάχιστα τετράγωνα μεταξύ δύο πινάκων ή σημείων. Η πρώτη παράμετρος είναι ότι παίρνουμε τη μετάθεση του array_a. Η δεύτερη παράμετρος είναι το δεύτερο σημείο που είναι ο y_axis. Στη συνέχεια, έχουμε το 'rcond' που περιέχει την τιμή 'none'. Στη συνέχεια, εμφανίζουμε τον πίνακα χρησιμοποιώντας τη μέθοδο print().

εισαγωγή μουδιασμένος όπως και π.χ.

Τυπώνω ( 'Εφαρμογή της συνάρτησης linalg.lstsq(): ' )

x_άξονας = π.χ. Ενα ΕΥΡΟΣ ( 0 , 10 )

Τυπώνω ( ' \n Η τιμή του άξονα x είναι: ' , x_άξονας )

y_axis = [ 10.3 , 10.5 , έντεκα , 11.5 , 13.2 , 13.9 , 14 , 15.5 , 16.6 , 17 ]

Τυπώνω ( ' \n Η τιμή του άξονα y είναι: ' , y_axis )

array_a = π.χ. πίνακας ( [ x_άξονας , π.χ. αυτές ( 10 ) ] )

Τυπώνω ( ' \n Ο πίνακας είναι: \n ' , array_a )

arg_reg_line = π.χ. λιναρόσπορος . lstsq ( array_a. Τ , y_axis , δεύτερον = Κανένας ) [ 0 ]

Τυπώνω ( ' \n Οι παράμετροι της γραμμής παλινδρόμησης είναι: , arg_reg_line )

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

εισαγωγή matplotlib. pyplot όπως και plt

plt. οικόπεδο ( x_άξονας , reg_line , 'r-' )

plt. οικόπεδο ( x_άξονας , y_axis , 'Ο' )

plt. τίτλος ( 'Γραμμή Γραμμικής Παλινδρόμησης' )

plt. xlabel ( 'X-Axis' )

plt. ylabel ( 'Υ-Άξονας' )

plt. προβολή ( )

Ακολουθεί η έξοδος του παραδείγματος που εφαρμόστηκε προηγουμένως:

Εισάγουμε ένα άλλο πακέτο NumPy που είναι το πακέτο «matplotlib» που χρησιμοποιείται για τη σχεδίαση του γραφήματος. Στη συνέχεια, σχεδιάζουμε τις τιμές x_axis και y_axis_values. Στη συνέχεια, ορίζουμε τον τίτλο και τις ετικέτες του γραφήματος. Τέλος, εμφανίζουμε το γράφημα χρησιμοποιώντας τη μέθοδο show().

Ακολουθεί το επιθυμητό γράφημα του παραδείγματος:

συμπέρασμα

Σε αυτό το άρθρο, μάθαμε ποιο είναι το ελάχιστο τετράγωνο και πώς παίρνουμε το linalg.lstsq() της άγνωστης μεταβλητής x χρησιμοποιώντας τη γραμμική εξίσωση ax=b. Χρησιμοποιήσαμε πολλαπλές συναρτήσεις του NumPy για να βρούμε τα ελάχιστα τετράγωνα και εφαρμόσαμε μερικά παραδείγματα με λεπτομερείς επεξηγήσεις για καλύτερη κατανόηση του χρήστη.