Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 1062|Απάντηση: 0

[Συμβουλές] Επιταχύνετε τη βιβλιοθήκη μηχανικής εκμάθησης scikit-learn με το sklearnex

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2025-4-27 09:59:40 | | | |
Scikit-μάθε

Το SKTet, πλήρες όνομα scikit-learn, είναι μια βιβλιοθήκη μηχανικής μάθησης στην Python, χτισμένη με βάση πακέτα επιστήμης δεδομένων όπως το numpy, το scipy και το matplotlib, που καλύπτει σχεδόν όλες τις πτυχές της μηχανικής μάθησης, όπως δείγματα δεδομένων, προεπεξεργασία δεδομένων, επαλήθευση μοντέλου, επιλογή χαρακτηριστικών, ταξινόμηση, παλινδρόμηση, ομαδοποίηση και μείωση διαστάσεων. Σε αντίθεση με το απόθεμα βαθιάς μάθησης που διατίθεται σε διάφορα πλαίσια όπως το pytorch και το TensorFlow, το sklearn είναι η προτιμώμενη βιβλιοθήκη για την παραδοσιακή μηχανική μάθηση στην python και δεν υπάρχουν άλλοι ανταγωνιστές.

Επίσημη ιστοσελίδα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Πηγή:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Επέκταση για το Scikit-learn

Ως κλασικό πλαίσιο μηχανικής μάθησης, το scikit-learn αναπτύσσεται για περισσότερα από δέκα χρόνια από τη γέννησή του, αλλά η υπολογιστική του ταχύτητα έχει επικριθεί ευρέως από τους χρήστες. Το Extension for Scikit-learn είναι ένας δωρεάν επιταχυντής λογισμικού AI που έχει σχεδιαστεί για να σας βοηθήσειΟ υπάρχων κώδικας Scikit-learn παρέχει 10 έως 100 φορές μεγαλύτερες επιταχύνσεις。 Η επιτάχυνση λογισμικού επιτυγχάνεται μέσω διανυσματικών οδηγιών, βελτιστοποίησης μνήμης για υλικό AI, νημάτων και βελτιστοποίησης.

Με την επέκταση Scikit-learn, μπορείτε:

  • Η εκπαίδευση και η εξαγωγή συμπερασμάτων είναι 100 φορές πιο γρήγορα με την ίδια μαθηματική ακρίβεια
  • Επωφεληθείτε από τις βελτιώσεις απόδοσης σε διαφορετικές διαμορφώσεις υλικού CPU, συμπεριλαμβανομένων των διαμορφώσεων GPU και πολλαπλών GPU
  • Ενσωματώστε επεκτάσεις στις υπάρχουσες εφαρμογές Scikit-learn χωρίς να τροποποιήσετε τον κώδικα
  • Συνεχίστε να χρησιμοποιείτε το API scikit-learn ανοιχτού κώδικα
  • Χρησιμοποιήστε μερικές γραμμές κώδικα ή ενεργοποιήστε και απενεργοποιήστε τις επεκτάσεις στη γραμμή εντολών


Πηγή:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Τεκμηρίωση:Η σύνδεση με υπερσύνδεσμο είναι ορατή.



Δοκιμή

Αρχικά, χρησιμοποιήστε το conda για να προετοιμάσετε το περιβάλλον και να εγκαταστήσετε τα απαραίτητα πακέτα με την ακόλουθη εντολή:

Ο νέος κώδικας δοκιμής Python έχει ως εξής:

Ο επιταχυνόμενος κώδικας έχει ως εξής:

Ερμηνεία πηγαίου κώδικα:

1.X, y = make_regression(n_samples=2000000, n_features=100, θόρυβος=1, random_state=42)
make_regression είναι μια συνάρτηση στο scikit-learn που δημιουργεί ένα σύνολο δεδομένων για προβλήματα γραμμικής παλινδρόμησης.
n_samples=2000000: Καθορίζει τον αριθμό των δειγμάτων στο σύνολο δεδομένων που δημιουργείται των 2.000.000.
n_features=100: Καθορίζει ότι κάθε δείγμα έχει 100 χαρακτηριστικά (δηλαδή, μεταβλητές εισόδου).
noise=1: Η τυπική απόκλιση της προσθήκης θορύβου στην τιμή στόχο y είναι 1. Αυτό σημαίνει ότι η τιμή-στόχος θα έχει κάποιες τυχαίες διαταραχές.
random_state=42: Ορίστε τον τυχαίο σπόρο σε 42, διασφαλίζοντας ότι τα δεδομένα που δημιουργούνται είναι τα ίδια κάθε φορά που εκτελείται ο κώδικας (επαναληψιμότητα).
Αποτελέσματα: Το X είναι ένας πίνακας σχήματος NumPy (2000000, 100) που αντιπροσωπεύει 2,000,000 δείγματα με 100 χαρακτηριστικά το καθένα. Το y είναι ένας μονοδιάστατος πίνακας μήκους 2.000.000 που αντιπροσωπεύει την τιμή στόχο.

2. X_train, _, y_train, _ = train_test_split(X, y, test_size=0,33, random_state=42)
train_test_split είναι μια συνάρτηση στο scikit-learn που χωρίζει το σύνολο δεδομένων σε σύνολα εκπαίδευσης και δοκιμής.
test_size=0,33: Υποδεικνύει ότι το 33% του συνόλου δεδομένων εκχωρείται στο σύνολο δοκιμής και το υπόλοιπο 67% κατανέμεται στο σύνολο εκπαίδευσης.
random_state=42: Ορίστε τον τυχαίο σπόρο σε 42, διασφαλίζοντας ότι το αποτέλεσμα του διαχωρισμού δεδομένων είναι το ίδιο κάθε φορά που εκτελείτε τον κώδικα.
: Χρησιμοποιήστε έναν χαρακτήρα υπογράμμισης για να αγνοήσετε την τιμή που επιστρέφεται. Εδώ μας ενδιαφέρει μόνο το μέρος του σετ προπόνησης (X_train και y_train) και αγνοούμε το μέρος του σετ δοκιμής.
Έκβαση:
X_train: Ο πίνακας χαρακτηριστικών του συνόλου εκπαίδευσης, σε σχήμα (1340000, 100) (περίπου το 67% των δεδομένων).
y_train: Η τιμή στόχος του σετ προπόνησης με μήκος 1.340.000.

3. μοντέλο = ΓραμμικήΠαλινδρόμηση()
Το LinearRegression είναι μια κλάση στο scikit-learn που υλοποιεί μοντέλα γραμμικής παλινδρόμησης.
Αυτή η γραμμή κώδικα δημιουργεί μια παρουσία ενός μοντέλου γραμμικής παλινδρόμησης και εκχωρεί τιμές στο μοντέλο μεταβλητής.
Από προεπιλογή, το LinearRegression δεν κανονικοποιεί τα δεδομένα (δηλαδή, δεν υπάρχει κανονικοποίηση L1 ή L2).

4. model.fit(X_train, y_train)
Το Fit είναι μια μέθοδος στο μοντέλο scikit-learn που χρησιμοποιείται για την εκπαίδευση του μοντέλου.
Εδώ η μέθοδος προσαρμογής καλείται να προσαρμόσει το μοντέλο γραμμικής παλινδρόμησης χρησιμοποιώντας την X_train δεδομένων του συνόλου εκπαίδευσης και την τιμή στόχο y_train.
Το μοντέλο υπολογίζει ένα βέλτιστο σύνολο βαρών (συντελεστών) και τομών για να ελαχιστοποιήσει το σφάλμα μεταξύ των προβλεπόμενων και των πραγματικών τιμών (συνήθως ελαχίστων τετραγώνων).
Μόλις ολοκληρωθεί η εκπαίδευση, οι παράμετροι του μοντέλου αποθηκεύονται σε model.coef_ (το βάρος του χαρακτηριστικού) και model.intercept_ (αναχαίτιση).

Ο χρόνος εκτέλεσης έχει ως εξής:



Μπορείτε να δείτε ότι το αποτέλεσμα είναι πολύ εμφανές τόσο χωρίς επιτάχυνση όσο και μετά την επιτάχυνση,Χρειάζονται περίπου 16 δευτερόλεπτα χωρίς επιτάχυνση και μόνο 0,1 δευτερόλεπτα μετά την επιτάχυνση!!!!




Προηγούμενος:Το .NET/C# χρησιμοποιεί αναγνώριση κειμένου Tesseract σε OCR για εικόνες
Επόμενος:Το .NET/C# χρησιμοποιεί το HtmlAgilityPack για να αφαιρέσει όλες τις ετικέτες HTML
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com