Πίνακας περιεχομένων:
- Φόρτωση των δεδομένων σας
- Η γραμμή 2 καλεί τη λειτουργία από τη βιβλιοθήκη που διαιρεί το σύνολο δεδομένων σε δύο μέρη και ορίζει τα τώρα χωρισμένα σύνολα δεδομένων σε δύο ζεύγη μεταβλητών.
- 0. (True, True, True, True, False, True, True,
- σε 150; Φαίνεται ότι δεν θα κάνει τη διαφορά για αυτό το μικρό σύνολο δεδομένων. Παράγει το ίδιο αποτέλεσμα: >>>> rf = RandomForestClassifier (n_estimators = 150,
Βίντεο: What does a Data Analyst do? [2019] 2024
Το τυχαίο μοντέλο δασών είναι ένα μοντέλο σύνολο να χρησιμοποιηθεί σε προγνωστικές αναλύσεις. παίρνει ένα σύνολο (επιλογή) των δέντρων αποφάσεων για να δημιουργήσει το μοντέλο της. Η ιδέα είναι να ληφθεί ένα τυχαίο δείγμα αδύναμων εκπαιδευομένων (ένα τυχαίο υποσύνολο των δεδομένων εκπαίδευσης) και να τους ψηφίσουν για να επιλέξουν το ισχυρότερο και καλύτερο μοντέλο. Το τυχαίο μοντέλο δασών μπορεί να χρησιμοποιηθεί είτε για ταξινόμηση είτε για παλινδρόμηση. Στο ακόλουθο παράδειγμα, το τυχαίο μοντέλο δασών χρησιμοποιείται για την ταξινόμηση των ειδών Iris.
Φόρτωση των δεδομένων σας
Αυτή η λίστα κωδικών θα φορτώσει το σύνολο δεδομένων
ίριδας
στη συνεδρία σας: >>>> από το sklearn. data setets load_iris >>>> iris = load_iris ()
Δημιουργία στιγμιότυπου του ταξινομητή
Οι ακόλουθες δύο γραμμές κώδικα δημιουργούν μια εμφάνιση του ταξινομητή. Η πρώτη γραμμή εισάγει την τυχαία βιβλιοθήκη δασών. Η δεύτερη γραμμή δημιουργεί μια εμφάνιση του τυχαίου αλγόριθμου δασών:
>>>> από το sklearn. Η παράμετρος
n_estimators
στον κατασκευαστή είναι μια παράμετρος ρύθμισης που χρησιμοποιείται συνήθως για το τυχαίο μοντέλο δασών (RandomForestClassifier) >>>> rf = RandomForestClassifier (n_estimators = 15,
random_state = 111). Η τιμή χρησιμοποιείται για την κατασκευή του αριθμού των δένδρων στο δάσος. Είναι γενικά μεταξύ 10 και 100 τοις εκατό του συνόλου δεδομένων, αλλά εξαρτάται από τα δεδομένα που χρησιμοποιείτε. Εδώ, η τιμή είναι 15, δηλαδή 10% των δεδομένων. Αργότερα, θα δείτε ότι η αλλαγή της τιμής παραμέτρου σε 150 (100 τοις εκατό) παράγει τα ίδια αποτελέσματα.
Το n
_estimators
χρησιμοποιείται για να συντονιστεί η απόδοση του μοντέλου και η υπερφόρτωση. Όσο μεγαλύτερη είναι η τιμή, τόσο καλύτερη είναι η απόδοση αλλά το κόστος της υπερκατασκευής. Όσο μικρότερη είναι η τιμή, τόσο μεγαλύτερες είναι οι πιθανότητες μη υπερκατασκευής αλλά με κόστος χαμηλότερης απόδοσης. Επίσης, υπάρχει ένα σημείο όπου η αύξηση του αριθμού θα υποβαθμίσει γενικά στη βελτίωση της ακρίβειας και μπορεί να αυξήσει δραματικά την απαιτούμενη υπολογιστική ισχύ. Η παράμετρος είναι προεπιλεγμένη στο 10 εάν παραλείπεται στον κατασκευαστή.
Εκτέλεση των δεδομένων εκπαίδευσης
cross_validation. Τρέχουσα_συχνότητα (iris,
ίριδας στόχος, test_size = 0.10, random_state = 111) >>>> rf = rf. fit (X_train, y_train)
Η Γραμμή 1 εισάγει τη βιβλιοθήκη που σας επιτρέπει να διαιρέσετε το σύνολο δεδομένων σε δύο μέρη.
Η γραμμή 2 καλεί τη λειτουργία από τη βιβλιοθήκη που διαιρεί το σύνολο δεδομένων σε δύο μέρη και ορίζει τα τώρα χωρισμένα σύνολα δεδομένων σε δύο ζεύγη μεταβλητών.
Η γραμμή 3 παίρνει την περίπτωση του τυχαίου δασικού ταξινομητή που μόλις δημιουργήσατε και στη συνέχεια καλεί τη μέθοδο προσαρμογής για να εκπαιδεύσει το μοντέλο με το σύνολο δεδομένων κατάρτισης.
Εκτέλεση των δεδομένων ελέγχου
Στον ακόλουθο κώδικα, η πρώτη γραμμή τροφοδοτεί το σύνολο δεδομένων δοκιμής στο μοντέλο και στη συνέχεια η τρίτη γραμμή εμφανίζει την έξοδο: >>>> predicted = rf. (0, 2, 2, 2, 0, 2, 2, 1, 2, 0, 1, 2, 2)) > Αξιολόγηση του μοντέλου
Μπορείτε να παραπέμψετε την έξοδο από την πρόβλεψη με τη συστοιχία
y_test
. Ως αποτέλεσμα, μπορείτε να δείτε ότι προέβλεψε λανθασμένα δύο σημεία δεδομένων δοκιμής. Έτσι, η ακρίβεια του τυχαίου μοντέλου δασών ήταν 86,6%.
- Εδώ είναι ο κώδικας: >>>> από τις μετρήσεις εισαγωγής sklearn >>>> προβλεπόμενος
- πίνακας ([0, 0, 2, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2]) >>>> y_test
- 2, 2]) >>>> μετρήσεις. accuracy_score (y_test, προβλεπόμενο)
0. (True, True, True, True, False, True, True,
True, True, True, True, True, False, True,
True], dtype = bool)
Πώς παράγει το τυχαίο μοντέλο δασών εάν αλλάξετε την παράμετρο
n_estimators
σε 150; Φαίνεται ότι δεν θα κάνει τη διαφορά για αυτό το μικρό σύνολο δεδομένων. Παράγει το ίδιο αποτέλεσμα: >>>> rf = RandomForestClassifier (n_estimators = 150,
random_state = 111) >>>> rf = rf. προσαρμογή (X_train, y_train) >>>> προβλεπόμενη = rf. (0, 2, 2, 2, 0, 2, 2, 1, 2, 0, 1, 2, 2)) >