Haaste: Erottamattoman Datan Luokittelu
Käytät seuraavaa aineistoa, jossa on kaksi ominaisuutta:
1234import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') print(df.head())
Jos suoritat alla olevan koodin ja tarkastelet tuloksena saatua hajontakuviota, huomaat, että aineisto ei ole lineaarisesti eroteltavissa:
123456import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') plt.scatter(df['X1'], df['X2'], c=df['y']) plt.show()
Käytetään ristivalidointia arvioimaan yksinkertaista logistista regressiota tällä datalla:
123456789101112131415161718import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_score df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') X = df[['X1', 'X2']] y = df['y'] X = StandardScaler().fit_transform(X) lr = LogisticRegression().fit(X, y) y_pred = lr.predict(X) plt.scatter(df['X1'], df['X2'], c=y_pred) plt.show() print(f'Cross-validation accuracy: {cross_val_score(lr, X, y).mean():.2f}')
Kuten huomaat, tavallinen logistinen regressio ei sovellu tähän tehtävään. Polynomiregression käyttö voi parantaa mallin suorituskykyä. Lisäksi GridSearchCV:n hyödyntäminen mahdollistaa optimaalisen C-parametrin löytämisen paremman tarkkuuden saavuttamiseksi.
Tässä tehtävässä käytetään myös Pipeline-luokkaa. Voit ajatella sitä esikäsittelyvaiheiden jonomaisena sarjana. Sen .fit_transform()-metodi soveltaa peräkkäin .fit_transform()-toimintoa jokaisessa putkiston vaiheessa.
Swipe to start coding
Sinulle on annettu aineisto, joka on kuvattu DataFrame-muodossa muuttujassa df.
- Luo putki (pipeline), joka sisältää muuttujan
Xtoisen asteen polynomiset piirteet ja skaalaa ne. Tallenna muodostettu putki muuttujaanpipe. - Luo
param_grid-sanakirja, jossa[0.01, 0.1, 1, 10, 100]-hyperparametrin arvoina ovatC. - Alusta ja kouluta
GridSearchCV-olio ja tallenna koulutettu olio muuttujaangrid_cv.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how to use polynomial regression with this dataset?
How does GridSearchCV help in finding the optimal C parameter?
What is the purpose of using a Pipeline in this context?
Awesome!
Completion rate improved to 4.17
Haaste: Erottamattoman Datan Luokittelu
Pyyhkäise näyttääksesi valikon
Käytät seuraavaa aineistoa, jossa on kaksi ominaisuutta:
1234import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') print(df.head())
Jos suoritat alla olevan koodin ja tarkastelet tuloksena saatua hajontakuviota, huomaat, että aineisto ei ole lineaarisesti eroteltavissa:
123456import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') plt.scatter(df['X1'], df['X2'], c=df['y']) plt.show()
Käytetään ristivalidointia arvioimaan yksinkertaista logistista regressiota tällä datalla:
123456789101112131415161718import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.model_selection import cross_val_score df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b71ff7ac-3932-41d2-a4d8-060e24b00129/circles.csv') X = df[['X1', 'X2']] y = df['y'] X = StandardScaler().fit_transform(X) lr = LogisticRegression().fit(X, y) y_pred = lr.predict(X) plt.scatter(df['X1'], df['X2'], c=y_pred) plt.show() print(f'Cross-validation accuracy: {cross_val_score(lr, X, y).mean():.2f}')
Kuten huomaat, tavallinen logistinen regressio ei sovellu tähän tehtävään. Polynomiregression käyttö voi parantaa mallin suorituskykyä. Lisäksi GridSearchCV:n hyödyntäminen mahdollistaa optimaalisen C-parametrin löytämisen paremman tarkkuuden saavuttamiseksi.
Tässä tehtävässä käytetään myös Pipeline-luokkaa. Voit ajatella sitä esikäsittelyvaiheiden jonomaisena sarjana. Sen .fit_transform()-metodi soveltaa peräkkäin .fit_transform()-toimintoa jokaisessa putkiston vaiheessa.
Swipe to start coding
Sinulle on annettu aineisto, joka on kuvattu DataFrame-muodossa muuttujassa df.
- Luo putki (pipeline), joka sisältää muuttujan
Xtoisen asteen polynomiset piirteet ja skaalaa ne. Tallenna muodostettu putki muuttujaanpipe. - Luo
param_grid-sanakirja, jossa[0.01, 0.1, 1, 10, 100]-hyperparametrin arvoina ovatC. - Alusta ja kouluta
GridSearchCV-olio ja tallenna koulutettu olio muuttujaangrid_cv.
Ratkaisu
Kiitos palautteestasi!
single