Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Gridsearchcv | Mallintaminen
Koneoppimisen Perusteet Scikit-learnilla

bookGridsearchcv

Nyt on aika parantaa mallin suorituskykyä tunnistamalla sopivimmat hyperparametrit.

Tätä prosessia kutsutaan hyperparametrien virittämiseksi. Vakiomenetelmä on testata eri hyperparametriarvoja, laskea kunkin ristiinvalidointipisteet ja valita arvo, joka tuottaa korkeimman pistemäärän.

Tämä prosessi voidaan toteuttaa käyttämällä GridSearchCV-luokkaa, joka löytyy sklearn.model_selection -moduulista.

Kun luot GridSearchCV-olion, määritä malli ja parametriverkko (param_grid), ja halutessasi pisteytysmetriikka sekä poimintojen määrä. Parametriverkko on sanakirja testattavista hyperparametriarvoista. Esimerkiksi:

param_grid = {'n_neighbors': [1, 3, 5, 7]}

Tämä kokoonpano arvioi mallin käyttäen 1, 3, 5 ja 7 naapuria.

Kun GridSearchCV on alustettu, se opetetaan metodilla .fit(X, y).

  • Paras malli (korkein ristiinvalidointipiste) löytyy attribuutista .best_estimator_.
  • Vastaava ristiinvalidointipiste on nähtävissä attribuutista .best_score_.
123456789101112131415
import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Print the best estimator and its cross-validation score print(grid_search.best_estimator_) print(grid_search.best_score_)
copy

Seuraava vaihe on ottaa käyttöön best_estimator_ ja kouluttaa se koko aineistolla, koska sille on jo määritetty parhaat parametrit. Tämä vaihe suoritetaan automaattisesti GridSearchCV:n toimesta.

Tämän seurauksena grid_search-objekti itsessään toimii koulutettuna mallina optimaalisilla parametreilla. Sitä voidaan käyttää suoraan ennustamiseen ja arviointiin .predict()- ja .score()-metodien avulla.

123456789101112131415
import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Evaluate the grid_search on the training set # It is done only to show that .score() method works, evaluating on training set is not reliable. print(grid_search.score(X, y))
copy
question mark

Kun olet kouluttanut GridSearchCV-olion, voit käyttää sitä ennusteiden tekemiseen käyttämällä .predict()-metodia. Onko tämä oikein?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 3.13

bookGridsearchcv

Pyyhkäise näyttääksesi valikon

Nyt on aika parantaa mallin suorituskykyä tunnistamalla sopivimmat hyperparametrit.

Tätä prosessia kutsutaan hyperparametrien virittämiseksi. Vakiomenetelmä on testata eri hyperparametriarvoja, laskea kunkin ristiinvalidointipisteet ja valita arvo, joka tuottaa korkeimman pistemäärän.

Tämä prosessi voidaan toteuttaa käyttämällä GridSearchCV-luokkaa, joka löytyy sklearn.model_selection -moduulista.

Kun luot GridSearchCV-olion, määritä malli ja parametriverkko (param_grid), ja halutessasi pisteytysmetriikka sekä poimintojen määrä. Parametriverkko on sanakirja testattavista hyperparametriarvoista. Esimerkiksi:

param_grid = {'n_neighbors': [1, 3, 5, 7]}

Tämä kokoonpano arvioi mallin käyttäen 1, 3, 5 ja 7 naapuria.

Kun GridSearchCV on alustettu, se opetetaan metodilla .fit(X, y).

  • Paras malli (korkein ristiinvalidointipiste) löytyy attribuutista .best_estimator_.
  • Vastaava ristiinvalidointipiste on nähtävissä attribuutista .best_score_.
123456789101112131415
import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Print the best estimator and its cross-validation score print(grid_search.best_estimator_) print(grid_search.best_score_)
copy

Seuraava vaihe on ottaa käyttöön best_estimator_ ja kouluttaa se koko aineistolla, koska sille on jo määritetty parhaat parametrit. Tämä vaihe suoritetaan automaattisesti GridSearchCV:n toimesta.

Tämän seurauksena grid_search-objekti itsessään toimii koulutettuna mallina optimaalisilla parametreilla. Sitä voidaan käyttää suoraan ennustamiseen ja arviointiin .predict()- ja .score()-metodien avulla.

123456789101112131415
import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Evaluate the grid_search on the training set # It is done only to show that .score() method works, evaluating on training set is not reliable. print(grid_search.score(X, y))
copy
question mark

Kun olet kouluttanut GridSearchCV-olion, voit käyttää sitä ennusteiden tekemiseen käyttämällä .predict()-metodia. Onko tämä oikein?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 4. Luku 6
some-alt