Naučte se inženýrství funkcí pro datovou vědu a ML za 5 minut

Jste připraveni naučit se inženýrství funkcí pro strojové učení a datovou vědu? Jste na správném místě!

Inženýrství funkcí je klíčovou dovedností pro získávání cenných poznatků z dat a v tomto rychlém průvodci je rozdělím na jednoduché, stravitelné kousky. Pojďme se tedy ponořit přímo do toho a začít na vaší cestě k zvládnutí extrakce funkcí!

Co je to Feature Engineering?

Když vytvoříte model strojového učení související s obchodním nebo experimentálním problémem, zadáte výuková data ve sloupcích a řádcích. V oblasti datové vědy a vývoje ML jsou sloupce známé jako atributy nebo proměnné.

Zrnité údaje nebo řádky pod těmito sloupci jsou známé jako pozorování nebo instance. Sloupce nebo atributy jsou funkce v nezpracované datové sadě.

Tyto nezpracované funkce nejsou dostatečné nebo optimální pro trénování modelu ML. Chcete-li snížit šum shromážděných metadat a maximalizovat jedinečné signály z funkcí, musíte pomocí inženýrství funkcí transformovat nebo převést sloupce metadat na funkční prvky.

Příklad 1: Finanční modelování

Nezpracovaná data pro trénink ML modelu

Například na obrázku výše ukázkové datové sady jsou sloupce od A do G funkce. Hodnoty nebo textové řetězce v každém sloupci podél řádků, jako jsou jména, výše vkladu, roky vkladu, úrokové sazby atd., jsou pozorování.

V modelování ML musíte odstraňovat, přidávat, kombinovat nebo transformovat data, abyste vytvořili smysluplné funkce a zmenšili velikost celkové trénovací databáze modelu. Toto je inženýrství funkcí.

Příklad inženýrství funkcí

Ve stejném datovém souboru zmíněném dříve jsou funkce jako Celková držba a Výše ​​úroku zbytečnými vstupy. Ty prostě zaberou více místa a zmatou model ML. Můžete tedy zredukovat dvě funkce z celkového počtu sedmi funkcí.

Vzhledem k tomu, že databáze v modelech ML obsahují tisíce sloupců a miliony řádků, omezení dvou funkcí má velký dopad na projekt.

Příklad 2: AI Music Playlist Maker

Někdy můžete vytvořit zcela nový prvek z několika existujících prvků. Předpokládejme, že vytváříte model AI, který automaticky vytvoří seznam skladeb a skladeb podle události, vkusu, režimu atd.

  Jak vytvořit druhý účet na Instagramu

Nyní jste shromáždili data o skladbách a hudbě z různých zdrojů a vytvořili následující databázi:

Ve výše uvedené databázi je sedm funkcí. Protože je však vaším cílem trénovat model ML, aby se rozhodl, která skladba nebo hudba je vhodná pro kterou událost, můžete funkce jako žánr, hodnocení, beaty, tempo a rychlost spojit do nové funkce nazvané Použitelnost.

Nyní, buď pomocí odborných znalostí nebo identifikace vzoru, můžete kombinovat určité instance funkcí a určit, která skladba je vhodná pro kterou událost. Například pozorování jako Jazz, 4.9, X3, Y3 a Z1 říkají modelu ML, že skladba Cras maximus justo et by měla být v seznamu skladeb uživatele, pokud hledá skladbu pro čas spánku.

Typy funkcí ve strojovém učení

Kategorické vlastnosti

Jedná se o datové atributy, které představují odlišné kategorie nebo štítky. Tento typ musíte použít k označení kvalitativních datových sad.

#1. Řadové kategorické rysy

Pořadové prvky mají kategorie se smysluplným pořadím. Například úrovně vzdělání jako střední škola, bakalářský, magisterský atd. mají jasné rozdíly ve standardech, ale neexistují žádné kvantitativní rozdíly.

#2. Nominální kategorické vlastnosti

Nominální znaky jsou kategorie bez jakéhokoli vlastního pořadí. Příkladem mohou být barvy, země nebo druhy zvířat. Navíc existují pouze kvalitativní rozdíly.

Vlastnosti pole

Tento typ funkce představuje data organizovaná v polích nebo seznamech. Datoví vědci a vývojáři ML často používají funkce Array ke zpracování sekvencí nebo vkládání kategorických dat.

#1. Funkce pole vkládání

Vložená pole převádějí kategorická data na husté vektory. Běžně se používá v systémech zpracování přirozeného jazyka a doporučení.

#2. Seznam funkcí pole

Pole seznamů ukládají sekvence dat, jako jsou seznamy položek v objednávce nebo historie akcí.

Číselné vlastnosti

Tyto funkce školení ML se používají k provádění matematických operací, protože tyto funkce představují kvantitativní data.

#1. Intervalové číselné funkce

Funkce intervalů mají konzistentní intervaly mezi hodnotami, ale nemají skutečný nulový bod – například data monitorování teploty. Zde nula znamená teplotu mrazu, ale atribut tam stále je.

#2. Poměrové číselné znaky

Poměrové funkce mají konzistentní intervaly mezi hodnotami a skutečným nulovým bodem. Příklady zahrnují věk, výšku a příjem.

Význam funkce Feature Engineering v ML a datové vědě

  • Efektivní extrakce vlastností zlepšuje přesnost modelu, díky čemuž jsou předpovědi spolehlivější a hodnotnější pro rozhodování.
  • Pečlivý výběr funkcí eliminuje irelevantní nebo nadbytečné atributy, zjednodušuje modely a šetří výpočetní zdroje.
  • Dobře navržené funkce odhalují datové vzorce a pomáhají datovým vědcům porozumět složitým vztahům v rámci datové sady.
  • Přizpůsobení funkcí konkrétním algoritmům může optimalizovat výkon modelu napříč různými metodami strojového učení.
  • Dobře navržené funkce vedou k rychlejšímu trénování modelů a nižším nákladům na výpočetní techniku, což zjednodušuje pracovní postup ML.
  • Dále prozkoumáme krok za krokem proces inženýrství funkcí.

    Proces konstrukčního inženýrství krok za krokem

  • Sběr dat: První krok zahrnuje shromažďování nezpracovaných dat z různých zdrojů, jako jsou databáze, soubory nebo rozhraní API.
  • Čištění dat: Jakmile data získáte, musíte je vyčistit identifikací a opravou všech chyb, nesrovnalostí nebo odlehlých hodnot.
  • Zacházení s chybějícími hodnotami: Chybějící hodnoty mohou narušit úložiště funkcí modelu ML. Pokud je budete ignorovat, váš model bude zaujatý. Takže musíte více zkoumat, abyste zadali chybějící hodnoty nebo je opatrně vynechali, aniž by to ovlivnilo model zkreslením.
  • Kódování kategorických proměnných: Pro algoritmy strojového učení musíte kategorické proměnné převést do numerického formátu.
  • Měřítko a normalizace: Měřítko zajišťuje, že numerické prvky jsou v konzistentním měřítku. Zabraňuje tomu, aby v modelu strojového učení dominovaly funkce s velkými hodnotami.
  • Výběr funkce: Tento krok pomáhá identifikovat a zachovat nejrelevantnější funkce, snižuje rozměr a zlepšuje efektivitu modelu.
  • Vytváření funkcí: Někdy mohou být nové funkce navrženy ze stávajících, aby byly zachyceny cenné informace.
  • Transformace funkcí: Transformační techniky, jako jsou logaritmy nebo mocninné transformace, mohou učinit vaše data vhodnějšími pro modelování.
  •   Kde najít bezplatné online kurzy, abyste se naučili něco nového?

    Dále budeme diskutovat o metodách inženýrství funkcí.

    Metody konstrukčního inženýrství

    #1. Analýza hlavních komponent (PCA)

    PCA zjednodušuje komplexní data nalezením nových nekorelovaných funkcí. Nazývají se hlavní komponenty. Můžete jej použít ke snížení rozměrů a zlepšení výkonu modelu.

    #2. Vlastnosti polynomu

    Vytváření polynomiálních prvků znamená přidání schopností existujících prvků k zachycení složitých vztahů ve vašich datech. Pomáhá vašemu modelu porozumět nelineárním vzorům.

    #3. Manipulace s odlehlými hodnotami

    Odlehlé hodnoty jsou neobvyklé datové body, které mohou ovlivnit výkon vašich modelů. Musíte identifikovat a spravovat odlehlé hodnoty, abyste zabránili zkresleným výsledkům.

    #4. Log Transform

    Logaritmická transformace vám může pomoci normalizovat data se zkresleným rozdělením. Snižuje dopad extrémních hodnot, aby byla data vhodnější pro modelování.

    #5. t-Distributed Stochastic Neighbor Embedding (t-SNE)

    t-SNE je užitečné pro vizualizaci vysokorozměrných dat. Snižuje rozměrnost a činí shluky zřetelnějšími při zachování datové struktury.

    V této metodě extrakce prvků představujete datové body jako tečky v prostoru nižší dimenze. Potom umístíte podobné datové body do původního vysokorozměrného prostoru a jsou modelovány tak, aby byly blízko u sebe v reprezentaci nižší dimenze.

    Od ostatních metod redukce rozměrů se liší zachováním struktury a vzdáleností mezi datovými body.

    #6. One-Hot Encoding

    One-hot encoding transformuje kategorické proměnné do binárního formátu (0 nebo 1). Získáte tak nové binární sloupce pro každou kategorii. One-hot encoding dělá kategorická data vhodná pro ML algoritmy.

    #7. Kódování počtu

    Kódování počtu nahrazuje kategorické hodnoty počtem, kolikrát se v datové sadě objeví. Dokáže zachytit cenné informace z kategoriálních proměnných.

    V této metodě inženýrství prvků používáte frekvenci nebo počet každé kategorie jako nový číselný prvek namísto použití původních štítků kategorií.

    #8. Standardizace funkcí

    Vlastnosti větších hodnot často dominují rysům malých hodnot. Model ML tak může být snadno zkreslen. Standardizace zabraňuje takovým příčinám zkreslení v modelu strojového učení.

    Proces standardizace obvykle zahrnuje následující dvě běžné techniky:

    • Standardizace Z-skóre: Tato metoda transformuje každý prvek tak, aby měl průměr (průměr) 0 a směrodatnou odchylku 1. Zde odečtete průměr prvku od každého datového bodu a výsledek vydělíte směrodatnou odchylkou.
    • Minimální a maximální škálování: Minimální a maximální škálování transformuje data do určitého rozsahu, obvykle mezi 0 a 1. Toho lze dosáhnout odečtením minimální hodnoty prvku od každého datového bodu a vydělením rozsahem.
      Jak najít důvod restartu Linuxu?

    #9. Normalizace

    Prostřednictvím normalizace jsou číselné rysy škálovány do společného rozsahu, obvykle mezi 0 a 1. Zachovává relativní rozdíly mezi hodnotami a zajišťuje, že všechny prvky jsou na rovných podmínkách.

    #1. Featuretools

    Featuretools je open-source rámec Pythonu, který automaticky vytváří funkce z časových a relačních datových sad. Lze jej použít s nástroji, které již používáte k vývoji ML potrubí.

    Řešení využívá Deep Feature Synthesis k automatizaci návrhu funkcí. Má knihovnu nízkoúrovňových funkcí pro vytváření funkcí. Featuretools má také API, které je také ideální pro přesné zacházení s časem.

    #2. CatBoost

    Pokud hledáte open-source knihovnu, která kombinuje více rozhodovacích stromů a vytváří výkonný prediktivní model, jděte do toho CatBoost. Toto řešení nabízí přesné výsledky s výchozími parametry, takže nemusíte trávit hodiny dolaďováním parametrů.

    CatBoost vám také umožňuje používat nečíselné faktory ke zlepšení vašich tréninkových výsledků. S ním můžete také očekávat přesnější výsledky a rychlé předpovědi.

    #3. Funkce-Engine

    Funkce-Engine je knihovna Pythonu s více transformátory a vybranými funkcemi, které můžete použít pro modely ML. Transformátory, které obsahuje, lze použít pro transformaci proměnných, vytváření proměnných, funkce data a času, předběžné zpracování, kategorické kódování, omezení nebo odstranění odlehlých hodnot a imputaci chybějících dat. Je schopen automaticky rozpoznávat číselné, kategorické a datumové proměnné.

    Výukové zdroje funkce Feature Engineering

    Online kurzy a virtuální kurzy

    #1. Feature Engineering pro strojové učení v Pythonu: Datacamp

    Tento Datacamp kurz Feature Engineering pro strojové učení v Pythonu umožňuje vytvářet nové funkce, které zlepšují výkon vašeho modelu strojového učení. Naučí vás provádět inženýrství funkcí a získávání dat pro vývoj sofistikovaných aplikací ML.

    #2. Funkce inženýrství pro strojové učení: Udemy

    z Kurz Feature Engineering for Machine Learningnaučíte se témata včetně imputace, kódování proměnných, extrakce funkcí, diskretizace, funkčnosti data a času, odlehlých hodnot atd. Účastníci se také naučí pracovat se zkreslenými proměnnými a vypořádat se s řídkými, neviditelnými a vzácnými kategoriemi.

    #3. Funkce: Pluralsight

    Tento Plurální pohled výuková cesta má celkem šest kurzů. Tyto kurzy vám pomohou naučit se důležitost inženýrství funkcí v pracovním postupu ML, způsoby použití jeho technik a extrakci funkcí z textu a obrázků.

    #4. Výběr funkcí pro strojové učení: Udemy

    S pomocí tohoto Udemy V kurzu se účastníci mohou naučit míchání funkcí, filtrování, obálkování a vložené metody, rekurzivní eliminaci funkcí a vyčerpávající vyhledávání. Pojednává také o technikách výběru funkcí, včetně těch s Pythonem, Lasem a rozhodovacími stromy. Tento kurz obsahuje 5,5 hodiny videa na vyžádání a 22 článků.

    #5. Funkce inženýrství pro strojové učení: skvělé učení

    Tento kurz od Skvělé učení seznámí vás s inženýrstvím funkcí a zároveň vás naučí o nadměrném a nedostatečném vzorkování. Kromě toho vám umožní provádět praktická cvičení na ladění modelu.

    #6. Funkce: Coursera

    Připojte se k Coursera kurz používat BigQuery ML, Keras a TensorFlow k provádění inženýrských funkcí. Tento středně pokročilý kurz také zahrnuje pokročilé inženýrské postupy.

    Digitální nebo vázané knihy

    #1. Funkce inženýrství pro strojové učení

    Tato kniha vás naučí, jak transformovat funkce do formátů pro modely strojového učení.

    Naučí vás také technické principy a praktické aplikace prostřednictvím cvičení.

    #2. Funkce inženýrství a výběr

    Přečtením této knihy se naučíte metody vývoje prediktivních modelů v různých fázích.

    Z něj se můžete naučit techniky pro nalezení nejlepších reprezentací prediktorů pro modelování.

    #3. Snadné inženýrství funkcí

    Kniha je průvodcem pro zvýšení prediktivní schopnosti algoritmů ML.

    Naučí vás navrhovat a vytvářet efektivní funkce pro aplikace založené na ML tím, že nabízí hloubkový přehled dat.

    #4. Feature Engineering Bookcamp

    Tato kniha se zabývá praktickými případovými studiemi, které vás naučí technikám funkčního inženýrství pro lepší výsledky ML a vylepšené souboje s daty.

    Přečtení těchto údajů zajistí, že budete moci dosáhnout lepších výsledků, aniž byste strávili mnoho času dolaďováním parametrů ML.

    #5. The Art of Feature Engineering

    Zdroj funguje jako základní prvek pro každého datového vědce nebo inženýra strojového učení.

    Kniha používá přístup napříč doménami k diskuzi o grafech, textech, časových řadách, obrázcích a případových studiích.

    Závěr

    Takto můžete provádět inženýrství funkcí. Nyní, když znáte definici, postupný proces, metody a výukové zdroje, můžete je implementovat do svých projektů ML a vidět úspěch!

    Dále se podívejte na článek o posilování.