Oppikaa tekoälyä Pythonilla · Oppitunti

Automaattinen piirteiden suunnittelu Featuretoolsilla

EntitySet, DFS (Deep Feature Synthesis), piirreprimitiivit, pinoavat aggregoinnit.

Oppitunti 4/413 vaihetta

Automaattinen piirteiden suunnittelu Featuretoolsilla on ilmainen Oppikaa tekoälyä Pythonilla-oppitunti CoddyKitissä. Tämä on oppitunti 4/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.

Piirteiden luonnin automatisointi

Piirteiden manuaalinen suunnittelu on hidasta, ja yhdistelmiä on helppo jättää huomaamatta. Featuretools muodostaa relaatiodatasta automaattisesti monia ehdokaspiirteitä Deep Feature Synthesis -menetelmän avulla.

Relaatiodata ja entiteetit

Reaalimaailman data jakautuu usein useisiin toisiinsa liittyviin tauluihin, kuten asiakkaisiin, tilauksiin ja tuotteisiin. Featuretools mallintaa nämä suhteet ja muodostaa automaattisesti piirteitä, jotka kokoavat tietoa linkitettyjen taulujen yli.

EntitySetin luominen

EntitySet on säilö, joka sisältää dataframe-kehykset ja niiden väliset suhteet. Aloittakaa luomalla tyhjä EntitySet.

import featuretools as ft

es = ft.EntitySet(id="customers_data")

Dataframe-kehysten lisääminen

es.add_dataframe rekisteröi taulun. Määritätte sen index-indeksin (yksilöivän avaimen) ja halutessanne ajallista dataa varten myös time_index-indeksin.

import featuretools as ft

es = es.add_dataframe(
    dataframe_name="customers",
    dataframe=customers_df,
    index="customer_id",
)
es = es.add_dataframe(
    dataframe_name="orders",
    dataframe=orders_df,
    index="order_id",
    time_index="order_date",
)

Suhteiden määrittäminen

Kertokaa Featuretoolsille, miten taulut liittyvät toisiinsa add_relationship-menetelmällä: vanhemman avain yhdistää lapsitaulun viiteavaimeen (yhdellä asiakkaalla on useita tilauksia).

es = es.add_relationship(
    "customers", "customer_id",
    "orders", "customer_id",
)

Deep Feature Synthesis

DFS (ft.dfs) on moottori, joka ketjuttaa operaatioita suhteiden yli ja luo piirteitä, kuten "tilauksen keskimääräinen arvo asiakasta kohden", ilman että jokaista piirrettä tarvitsee ohjelmoida erikseen.

import featuretools as ft

feature_matrix, feature_defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
)

Aggregointiprimitiivit

Aggregointiprimitiivit kokoavat lapsirivien tiedot vanhemmalle: SUM, MEAN, COUNT, MAX ja STD. Ne muuttavat useat tilaukset asiakaskohtaisiksi tilastoiksi.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    agg_primitives=["mean", "sum", "count", "max"],
)

Muunnosprimitiivit

Muunnosprimitiivit käsittelevät yksittäisen rivin tai taulun sisäisiä tietoja: esimerkiksi poimivat päivämäärästä kuukauden, laskevat kuluneen ajan tai ottavat itseisarvon.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    trans_primitives=["month", "weekday", "time_since_previous"],
)

Syvyyden hallinta max_depth-parametrilla

max_depth rajoittaa ketjutettavien primitiivien määrää. Syvyys 1 tarkoittaa suoria aggregointeja; syvyys 2 käyttää ensin muunnosta ja sitten aggregointia (esimerkiksi tilausten viikonpäivien keskiarvoa). Suurempi syvyys tuottaa enemmän, mutta riskialttiimpia piirteitä.

feature_matrix, defs = ft.dfs(
    entityset=es,
    target_dataframe_name="customers",
    max_depth=2,
)

Piirrematriisin käyttäminen

Tuloksena syntyvä feature_matrix on kohde-entiteetin mukaan indeksoitu siisti dataframe-kehys, joka voidaan syöttää suoraan mallille. feature_defs dokumentoi jokaisen muodostetun piirteen.

print(feature_matrix.shape)
print(feature_matrix.head())

X = feature_matrix.fillna(0)
# now train any sklearn model on X

Vahvuudet ja varoitukset

Featuretools tuottaa nopeasti paljon piirteitä ja paljastaa relaatiodatan sisältämiä signaaleja. Se voi kuitenkin luoda satoja sarakkeita, joten käyttäkää sen kanssa piirrevalintaa. Välttäkää tietovuoto määrittämällä ajalliselle datalle asianmukainen cutoff_time.

Pikatesti

Testatkaa tietonne Featuretoolsista.

Kertaus

Kertaus: Featuretools automatisoi piirteiden suunnittelun. Rakentakaa EntitySet, rekisteröikää taulut komennolla es.add_dataframe, määrittäkää suhteet ja suorittakaa sitten ft.dfs käyttäen max_depth-parametria. Aggregointiprimitiivit kokoavat lapsirivit vanhemmille; muunnosprimitiivit käsittelevät yksittäisen rivin sisäisiä tietoja. feature_matrix on valmis syötettäväksi mallille, mutta yhdistäkää se piirrevalintaan.

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 ”Automaattinen piirteiden suunnittelu Featuretoolsilla” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Oppikaa tekoälyä Pythonilla-oppimispolun 3 oppituntia, myös oppitunnin “Automaattinen piirteiden suunnittelu Featuretoolsilla”. 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 ”Automaattinen piirteiden suunnittelu Featuretoolsilla”?

EntitySet, DFS (Deep Feature Synthesis), piirreprimitiivit, pinoavat aggregoinnit. 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 4/4.

Kuinka kauan ”Automaattinen piirteiden suunnittelu Featuretoolsilla”-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