Κοινή χρήση μέσω


Εκπαιδευτικές απεικονίσεις (προεπισκόπηση)

Μια δοκιμαστική έκδοση υπερπαραμέτρου ή μια δοκιμαστική έκδοση AutoML αναζητά τις βέλτιστες παραμέτρους για ένα μοντέλο εκμάθησης μηχανής. Κάθε δοκιμαστική έκδοση αποτελείται από πολλές εκτελέσεις, όπου κάθε εκτέλεση αξιολογεί έναν συγκεκριμένο συνδυασμό παραμέτρων. Οι χρήστες μπορούν να παρακολουθούν αυτές τις εκτελέσεις χρησιμοποιώντας στοιχεία πειράματος εκμάθησης μηχανής στο Fabric.

Η flaml.visualization λειτουργική μονάδα προσφέρει συναρτήσεις για τη σχεδίαση και σύγκριση των εκτελέσεων στο FLAML. Οι χρήστες μπορούν να χρησιμοποιήσουν τη συνάρτηση Plotly για να αλληλεπιδράσουν με τις σχεδιάσεις τους για το πείραμα AutoML. Για να χρησιμοποιήσουν αυτές τις συναρτήσεις, οι χρήστες πρέπει να εισαγάγουν το βελτιστοποιημένο flaml.AutoML ή flaml.tune.tune.ExperimentAnalysis το αντικείμενο τους.

Αυτό το άρθρο σάς μαθαίνει πώς να χρησιμοποιήσετε την flaml.visualization εκπαιδευτική ενότητα για να αναλύσετε και να εξερευνήσετε τα αποτελέσματα της δοκιμαστικής έκδοσης AutoML. Μπορείτε επίσης να ακολουθήσετε τα ίδια βήματα για τη δοκιμαστική έκδοση υπερπαραμέτρων.

Σημαντικό

Αυτή η δυνατότητα είναι σε προεπισκόπηση.

Δημιουργία δοκιμαστικής έκδοσης AutoML

Το AutoML προσφέρει μια οικογένεια αυτοματοποιημένων διαδικασιών που μπορούν να αναγνωρίσουν την καλύτερη διοχέτευση εκμάθησης μηχανής για το σύνολο δεδομένων σας, καθιστώντας ολόκληρη τη διαδικασία μοντελοποίησης πιο απλή και συχνά πιο ακριβή. Ουσιαστικά, σας γλιτώνει από το πρόβλημα της ρύθμισης διαφορετικών μοντέλων και υπερπαραμετών.

Στο παρακάτω κελί κώδικα, θα κάνουμε τα εξής:

  1. Φορτώστε το σύνολο δεδομένων Iris.
  2. Διαιρέστε τα δεδομένα σε εκπαιδευτικά σύνολα και σύνολα δοκιμών.
  3. Ξεκινήστε μια δοκιμαστική έκδοση AutoML για να προσαρμόσετε τα δεδομένα εκπαίδευσής μας.
  4. Εξερευνήστε τα αποτελέσματα της δοκιμαστικής έκδοσης AutoML με τις απεικονίσεις από flaml.visualizationτο .
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from flaml import AutoML

# Load the Iris data and split it into train and test sets
x, y = load_iris(return_X_y=True, as_frame=True)
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=7654321)

# Create an AutoML instance and set the parameters
automl = AutoML()
automl_settings = {
    "time_budget": 10, # Time limit in seconds
    "task": "classification", # Type of machine learning task
    "log_file_name": "aml_iris.log", # Name of the log file
    "metric": "accuracy", # Evaluation metric
    "log_type": "all", # Level of logging
}
# Fit the AutoML instance on the training data
automl.fit(X_train=x_train, y_train=y_train, **automl_settings)

Απεικόνιση των αποτελεσμάτων του πειράματος

Μετά την εκτέλεση μιας δοκιμαστικής έκδοσης AutoML, πρέπει να απεικονίσετε τα αποτελέσματα για να αναλύσετε πόσο καλά εκτελέστηκαν τα μοντέλα και πώς συμπεριφέρθηκαν. Σε αυτό το τμήμα της τεκμηρίωσής μας, σας δείχνουμε πώς μπορείτε να χρησιμοποιήσετε τα ενσωματωμένα βοηθητικά προγράμματα στη βιβλιοθήκη FLAML για αυτόν το σκοπό.

Εκπαιδευτική ενότητα εισαγωγής απεικόνισης

Για να αποκτήσετε πρόσβαση σε αυτά τα βοηθητικά προγράμματα απεικόνισης, εκτελούμε την ακόλουθη εντολή εισαγωγής:

import flaml.visualization as fviz

Ιστορικό βελτιστοποίησης

Ένα γράφημα ιστορικού βελτιστοποίησης συνήθως έχει τον αριθμό δοκιμών/επαναλήσεων στον άξονα x και ένα μετρικό επιδόσεων (όπως ακρίβεια, RMSE κ.λπ.) στον άξονα y. Καθώς αυξάνεται ο αριθμός των δοκιμών, θα δείτε ένα γράφημα γραμμών ή διασποράς που υποδεικνύει τις επιδόσεις κάθε δοκιμαστικής έκδοσης.

fig = fviz.plot_optimization_history(automl)
# or
fig = fviz.plot(automl, "optimization_history")
fig.show()

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

Γράφημα σχεδίασης ιστορικού βελτιστοποίησης.

Σπουδαιότητα δυνατότητας

Ένα γράφημα σπουδαιότητας δυνατοτήτων είναι ένα ισχυρό εργαλείο απεικόνισης που σας επιτρέπει να κατανοήσετε τη σημασία των διαφορετικών δυνατοτήτων εισόδου κατά τον καθορισμό των προβλέψεων ενός μοντέλου.

fig = fviz.plot_feature_importance(automl)
# or
fig = fviz.plot(automl, "feature_importance")
fig.show()

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

Γράφημα σχεδίασης σπουδαιότητας δυνατοτήτων.

Γράφημα παράλληλων συντεταγμένων

Ένα γράφημα παράλληλων συντεταγμένων είναι ένα εργαλείο απεικόνισης που αντιπροσωπεύει πολυδιάστατα δεδομένα σχεδιάζοντας πολλαπλές κατακόρυφες γραμμές (άξονες) που αντιστοιχούν σε μεταβλητές ή υπερπαραμετήρες, με σημεία δεδομένων σχεδιασμένα ως συνδεδεμένες γραμμές σε αυτούς τους άξονες. Στο πλαίσιο ενός πειράματος AutoML ή ρύθμισης, είναι καθοριστικό για την απεικόνιση και ανάλυση της απόδοσης διαφορετικών συνδυασμών υπερπαραμετρικών. Με την ανίχνευση των διαδρομών των ρυθμίσεων υψηλής απόδοσης, μπορεί κανείς να διακρίνει μοτίβα ή τάσεις στις επιλογές υπερπαραμετρικών και τις αλληλεπιδράσεις τους. Αυτή η σχεδίαση βοηθά στην κατανόηση των συνδυασμών που οδηγούν σε βέλτιστες επιδόσεις, τον εντοπισμό πιθανών περιοχών για περαιτέρω εξερεύνηση και τον εντοπισμό τυχόν αντισταθμών μεταξύ διαφορετικών υπερπαραμετών.

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

  • learner: Καθορίστε τον μαθητή που σκοπεύετε να μελετήσετε στο πείραμα. Αυτή η παράμετρος ισχύει μόνο για τα αποτελέσματα του πειράματος AutoML. Αφήνοντας αυτό το κενό, το σύστημα επιλέγει τον καλύτερο μαθητή σε ολόκληρο το πείραμα.

  • params: Μια λίστα για τον καθορισμό του υπερπαραμετήρα που θα εμφανίζεται. Αφήνοντας αυτό το κενό, το σύστημα εμφανίζει όλες τις διαθέσιμες υπερπαραμετρήσεις.

fig = fviz.plot_parallel_coordinate(automl, learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
# or
fig = fviz.plot(automl, "parallel_coordinate", learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
fig.show()

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

Γράφημα γραφήματος παράλληλης συντεταγμένης.

Γράφημα περιγράμματος

Ένα γράφημα περιγράμματος απεικονίζει τρισδιάστατα δεδομένα σε δύο διαστάσεις, όπου οι άξονες x και y αντιπροσωπεύουν δύο υπερπαραμετρικά και οι γραμμές περιγράμματος ή τα γεμισμένα περιγράμματα απεικονίζουν επίπεδα ενός μετρικού επιδόσεων (για παράδειγμα, ακρίβεια ή απώλεια). Στο πλαίσιο ενός πειράματος AutoML ή ρύθμισης, μια σχεδίαση περιγράμματος είναι χρήσιμη για την κατανόηση της σχέσης μεταξύ δύο υπερπαραμετών και της συνδυασμένης επίδρασής τους στις επιδόσεις του μοντέλου.

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

Αυτό το βοηθητικό πρόγραμμα λαμβάνει επίσης τα παρακάτω ορίσματα:

  • learner: Καθορίστε τον μαθητή που σκοπεύετε να μελετήσετε στο πείραμα. Αυτή η παράμετρος ισχύει μόνο για τα αποτελέσματα του πειράματος AutoML. Αφήνοντας αυτό το κενό, το σύστημα επιλέγει τον καλύτερο μαθητή σε ολόκληρο το πείραμα.

  • params: Μια λίστα για τον καθορισμό του υπερπαραμετήρα που θα εμφανίζεται. Αφήνοντας αυτό το κενό, το σύστημα εμφανίζει όλες τις διαθέσιμες υπερπαραμετρήσεις.

fig = fviz.plot_contour(automl, learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
# or
fig = fviz.plot(automl, "contour", learner="lgbm", params=["n_estimators", "num_leaves", "learning_rate"])
fig.show()

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

Γράφημα γραφήματος περιγράμματος.

Συνάρτηση εμπειρικής κατανομής

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

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

Σημείωμα

Για τα πειράματα AutoML, θα εφαρμοστούν πολλά μοντέλα κατά τη διάρκεια της εκπαίδευσης. Οι δοκιμαστικές δοκιμές κάθε μαθητή αντιπροσωπεύονται ως μια σειρά βελτιστοποίησης. Για τα πειράματα ρύθμισης υπερπαραμετρικών, θα αξιολογηθεί μόνο ένας μαθητής. Ωστόσο, μπορείτε να παρέχετε επιπλέον πειράματα ρύθμισης για να δείτε τις τάσεις σε κάθε μαθητή.

fig = fviz.plot_edf(automl)
# or
fig = fviz.plot(automl, "edf")
fig.show()

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

Γράφημα της σχεδίασης συνάρτησης εμπειρικής κατανομής.

Σχεδίαση λωρίδας χρόνου

Μια σχεδίαση λωρίδας χρόνου, η οποία συχνά αναπαρίσταται ως γράφημα Gantt ή μια ακολουθία ράβδων, απεικονίζει την έναρξη, τη διάρκεια και την ολοκλήρωση των εργασιών σε βάθος χρόνου. Στο πλαίσιο ενός πειράματος AutoML ή ρύθμισης, μια σχεδίαση λωρίδας χρόνου μπορεί να παρουσιάσει την εξέλιξη διαφόρων αξιολογήσεων μοντέλων και τις αντίστοιχες διάρκειες τους, σχεδιασμένες βάσει χρόνου. Παρατηρώντας αυτό το γράφημα, οι χρήστες μπορούν να κατανοήσουν την αποτελεσματικότητα της διαδικασίας αναζήτησης, να αναγνωρίσουν τυχόν συμφορήσεις ή περιόδους αδράνειας και να κατανοήσουν τη χρονική δυναμική διαφορετικών αξιολογήσεων υπερπαραμετέρων.

fig = fviz.plot_timeline(automl)
# or
fig = fviz.plot(automl, "timeline")
fig.show()

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

Γράφημα σχεδίασης λωρίδας χρόνου.

Γράφημα αναλυτή

Σχεδίαση της σχέσης παραμέτρου ως σχεδίασης φέτας σε μια μελέτη.

Αυτό το βοηθητικό πρόγραμμα λαμβάνει επίσης τα παρακάτω ορίσματα:

  • learner: Καθορίστε τον μαθητή που σκοπεύετε να μελετήσετε στο πείραμα. Αυτή η παράμετρος ισχύει μόνο για τα αποτελέσματα του πειράματος AutoML. Αφήνοντας αυτό το κενό, το σύστημα επιλέγει τον καλύτερο μαθητή σε ολόκληρο το πείραμα.

  • params: Μια λίστα για τον καθορισμό του υπερπαραμετήρα που θα εμφανίζεται. Αφήνοντας αυτό το κενό, το σύστημα εμφανίζει όλες τις διαθέσιμες υπερπαραμετρήσεις.

fig = fviz.plot_slice(automl, learner="sgd")
# or
fig = fviz.plot(automl, "slice", learner="sgd")
fig.show()

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

Γράφημα σχεδίασης αναλυτή.

Σπουδαιότητα υπερπαραμετέρου

Μια σχεδίαση σπουδαιότητας υπερπαραμετέρου ταξινομεί οπτικά τους υπερπαραμετήρες με βάση την επιρροή τους στην απόδοση του μοντέλου σε ένα πείραμα AutoML ή ρύθμισης. Εμφανίζεται συνήθως ως γράφημα ράβδων και ποσοτικοποιεί την επίδραση κάθε υπερπαραμέτρου στο μετρικό προορισμού. Εξετάζοντας αυτή την πλοκή, οι ιατροί μπορούν να διακρίνουν ποιοι υπερπαραμετρητές είναι καίριοι στον προσδιορισμό των αποτελεσμάτων του μοντέλου και ποιοι έχουν ελάχιστη επίδραση.

Αυτό το βοηθητικό πρόγραμμα λαμβάνει επίσης τα παρακάτω ορίσματα:

  • learner: Καθορίστε τον μαθητή που σκοπεύετε να μελετήσετε στο πείραμα. Αυτή η παράμετρος ισχύει μόνο για τα αποτελέσματα του πειράματος AutoML. Αφήνοντας αυτό το κενό, το σύστημα επιλέγει τον καλύτερο μαθητή σε ολόκληρο το πείραμα.

  • params: Μια λίστα για τον καθορισμό του υπερπαραμετήρα που θα εμφανίζεται. Αφήνοντας αυτό το κενό, το σύστημα εμφανίζει όλες τις διαθέσιμες υπερπαραμετρήσεις.

fig = fviz.plot_param_importance(automl, learner="sgd")
# or
fig = fviz.plot(automl, "param_importance", learner="sgd")
fig.show()

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

Γράφημα σχεδίασης σπουδαιότητας υπερπαραμετέρου.