Oppikaa tekoälyä Pythonilla · Oppitunti

Interaktio- ja polynomipiirteiden luominen

PolynomialFeatures, manuaaliset interaktiotermit, suhdepiirteet ja jatkuvien muuttujien binning.

Oppitunti 2/413 vaihetta

Interaktio- ja polynomipiirteiden luominen on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Oppikaa tekoälyä Pythonilla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.

Miksi uusia piirteitä muodostetaan

Lineaariset mallit pystyvät kuvaamaan vain suoran viivan mukaisia riippuvuuksia. Luomalla vuorovaikutus- ja polynomipiirteitä annatte yksinkertaisille malleille mahdollisuuden ilmaista käyriä ja muuttujien välisiä yhteisvaikutuksia.

Mitä vuorovaikutuspiirteet ovat

Vuorovaikutus kertoo kaksi piirrettä keskenään, esimerkiksi area = length * width. Se kuvaa vaikutuksia, jotka riippuvat molemmista syötteistä yhdessä ja joita kumpikaan ei yksin selitä.

PolynomialFeaturesin perusteet

PolynomialFeatures luo automaattisesti piirteiden potensseja ja tuloja valittuun degree-asteeseen asti. Toinen aste lisää neliöt ja piirteiden pareittaiset tulot.

from sklearn.preprocessing import PolynomialFeatures
import numpy as np

X = np.array([[2, 3]])
poly = PolynomialFeatures(degree=2)
print(poly.fit_transform(X))
# 1, x1, x2, x1^2, x1*x2, x2^2

interaction_only-tila

Asettamalla interaction_only=True säilytätte ristitulot mutta poistatte puhtaat potenssit, kuten x1^2. Tämä on hyödyllistä, kun haluatte vain yhteisvaikutuksia ettekä kaarevuutta.

from sklearn.preprocessing import PolynomialFeatures

poly = PolynomialFeatures(degree=2, interaction_only=True, include_bias=False)
X_int = poly.fit_transform(X)

Varokaa piirteiden räjähdysmäistä kasvua

Korkeat asteet luovat paljon piirteitä ja lisäävät ylisovittamisen riskiä. Kun syötemuuttujia on 10, kolmas aste tuottaa satoja sarakkeita. Pitäkää aste pienenä (2 tai 3) ja yhdistäkää menetelmään piirteiden valinta tai regularisointi.

Käsin muodostetut suhdepiirteet

Toimialatuntemus voittaa usein raakavoiman. Käsin muodostetut suhdeluvut, kuten hinta neliömetriä kohti tai napsautukset näyttökertaa kohti, sisältävät merkityksen, jota polynomilaajennus ei löytäisi.

import pandas as pd

df["price_per_sqm"] = df["price"] / df["area"]
df["ctr"] = df["clicks"] / df["impressions"]

Väleihin jako pd.cut-funktiolla

Väleihin jako muuntaa jatkuvan muuttujan luokiksi. pd.cut jakaa sarakkeen väleihin, mikä on hyödyllistä epälineaaristen vaikutusten kuvaamisessa tai esimerkiksi ikä- ja tuloryhmien muodostamisessa.

import pandas as pd

df["age_group"] = pd.cut(
    df["age"],
    bins=[0, 18, 35, 60, 120],
    labels=["minor", "young", "adult", "senior"],
)

Yhtä yleiset välit

pd.qcut luo suunnilleen yhtä monta havaintoa sisältäviä välejä (kvantiileja). Tämä on kätevää, kun jakauma on vino ja haluatte tasapainoiset ryhmät.

import pandas as pd

df["income_quartile"] = pd.qcut(df["income"], q=4, labels=False)

Vinojen jakaumien käsittely logaritmimuunnoksella

Oikealle vinot piirteet, kuten tulot, hinnat ja lukumäärät, haittaavat monia malleja. Logaritmimuunnos tiivistää suuria arvoja ja tekee jakaumasta symmetrisemmän.

import numpy as np

# log1p handles zeros safely: log(1 + x)
df["log_income"] = np.log1p(df["income"])

Neliöjuuri- ja muut muunnokset

Neliöjuurimuunnos vähentää myös vinoutta, mutta lievemmin kuin logaritmimuunnos, joten se sopii hyvin lukumäärätiedoille. Valitkaa muunnos, joka tekee histogrammista mahdollisimman symmetrisen.

import numpy as np

df["sqrt_count"] = np.sqrt(df["count"])
# inspect df["sqrt_count"].hist() to confirm reduced skew

Kokonaisuuden yhdistäminen

Yhdistelkää lähestymistapoja: muuntakaa vinot sarakkeet logaritmisesti, jakakaa muuttujat väleihin silloin, kun raja-arvoilla on merkitystä, lisätkää toimialatuntemukseen perustuvia suhdelukuja ja käyttäkää vuorovaikutuksiin PolynomialFeatures-menetelmää. Tarkistakaa aina, että uudet piirteet todella parantavat ristiinvalidoinnilla saatuja pisteitä.

Pikatesti

Testatkaa piirteiden muodostamista koskevat tietonne.

Kertaus

Kertaus: Muodostakaa piirteitä yksinkertaisten mallien avuksi. PolynomialFeatures lisää degree- ja interaction_only-asetusten avulla tuloja ja potensseja, mutta varokaa piirteiden räjähdysmäistä kasvua. Rakentakaa toimialatuntemukseen perustuvia suhdelukuja, jakakaa muuttujat väleihin pd.cut- ja pd.qcut-funktioilla ja korjatkaa vinoutta logaritmi- tai neliöjuurimuunnoksilla. Tarkistakaa aina hyödyt.

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
53
Oppitunnit
225

Usein kysytyt kysymykset

Onko oppitunti ”Interaktio- ja polynomipiirteiden luominen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Interaktio- ja polynomipiirteiden luominen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppikaa tekoälyä Pythonilla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Interaktio- ja polynomipiirteiden luominen”?

PolynomialFeatures, manuaaliset interaktiotermit, suhdepiirteet ja jatkuvien muuttujien binning. Harjoittelet Oppikaa tekoälyä Pythonilla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Oppikaa tekoälyä Pythonilla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Oppikaa tekoälyä Pythonilla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Interaktio- ja polynomipiirteiden luominen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Oppikaa tekoälyä Pythonilla-oppitunnilla?

Kyllä. Jokainen Oppikaa tekoälyä Pythonilla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Piirteiden valintamenetelmät
  2. Interaktio- ja polynomipiirteiden luominen
  3. Kohdekoodaus ja edistynyt kategoristen muuttujien käsittely
  4. Automaattinen piirteiden suunnittelu Featuretoolsilla
← Takaisin: Oppikaa tekoälyä Pythonilla