Lär dig funktionsteknik för datavetenskap och ML på 5 minuter

Är du redo att lära dig funktionsteknik för maskininlärning och datavetenskap? Du är på rätt plats!

Funktionsteknik är en kritisk färdighet för att extrahera värdefulla insikter från data, och i den här snabbguiden delar jag upp det i enkla, lättsmälta bitar. Så låt oss dyka in direkt och komma igång på din resa för att bemästra funktionsextraktion!

Vad är funktionsteknik?

När du skapar en maskininlärningsmodell relaterad till ett affärs- eller experimentellt problem, tillhandahåller du inlärningsdata i kolumner och rader. Inom domänen datavetenskap och ML-utveckling kallas kolumner för attribut eller variabler.

Granulära data eller rader under dessa kolumner kallas observationer eller instanser. Kolumnerna eller attributen är funktionerna i en rådatauppsättning.

Dessa råa funktioner är inte tillräckligt eller optimala för att träna en ML-modell. För att minska bruset från den insamlade metadatan och maximera unika signaler från funktioner måste du transformera eller konvertera metadatakolumner till funktionella funktioner genom funktionsteknik.

Exempel 1: Finansiell modellering

Rådata för ML-modellutbildning

Till exempel, i bilden ovan av en exempeldatauppsättning, är kolumnerna från A till G funktioner. Värden eller textsträngar i varje kolumn längs raderna, som namn, insättningsbelopp, insättningsår, räntor, etc., är observationer.

I ML-modellering måste du ta bort, lägga till, kombinera eller transformera data för att skapa meningsfulla funktioner och minska storleken på den övergripande modellutbildningsdatabasen. Detta är funktionsteknik.

Exempel på funktionsteknik

I samma datauppsättning som nämnts tidigare är funktioner som Tenure Total och Interest Amount onödiga indata. Dessa kommer helt enkelt att ta mer plats och förvirra ML-modellen. Så du kan minska två funktioner från totalt sju funktioner.

Eftersom databaserna i ML-modeller innehåller tusentals kolumner och miljontals rader, påverkar projektet mycket att reducera två funktioner.

Exempel 2: AI Music Playlist Maker

Ibland kan du skapa en helt ny funktion av flera befintliga funktioner. Anta att du skapar en AI-modell som automatiskt skapar en spellista med musik och låtar enligt händelse, smak, läge, etc.

Nu har du samlat in data om låtar och musik från olika källor och skapat följande databas:

Det finns sju funktioner i databasen ovan. Men eftersom ditt mål är att träna ML-modellen för att bestämma vilken låt eller musik som är lämplig för vilket evenemang, kan du klubba funktioner som Genre, Rating, Beats, Tempo och Speed ​​till en ny funktion som heter Applicability.

Nu, antingen genom expertis eller mönsteridentifiering, kan du kombinera vissa instanser av funktioner för att avgöra vilken låt som är lämplig för vilken händelse. Till exempel, observationer som Jazz, 4.9, X3, Y3 och Z1 talar om för ML-modellen att låten Cras maximus justo et borde finnas i användarens spellista om de letar efter en låt för sömntid.

Typer av funktioner i maskininlärning

Kategoriska egenskaper

Dessa är dataattribut som representerar distinkta kategorier eller etiketter. Du måste använda den här typen för att tagga kvalitativa datauppsättningar.

#1. Ordinal kategoriska egenskaper

Ordinaldrag har kategorier med en meningsfull ordning. Till exempel har utbildningsnivåer som gymnasiet, kandidatexamen, magister, etc. en tydlig skillnad i standarderna, men det finns inga kvantitativa skillnader.

#2. Nominella kategoriska egenskaper

Nominella egenskaper är kategorier utan någon inneboende ordning. Exempel kan vara färger, länder eller typer av djur. Dessutom finns det bara kvalitativa skillnader.

Array-funktioner

Denna funktionstyp representerar data organiserade i arrayer eller listor. Dataforskare och ML-utvecklare använder ofta Array Features för att hantera sekvenser eller bädda in kategorisk data.

#1. Inbädda Array-funktioner

Inbäddningsmatriser konverterar kategorisk data till täta vektorer. Det används ofta i naturlig språkbehandling och rekommendationssystem.

#2. Lista Array-funktioner

Listmatriser lagrar sekvenser av data, till exempel listor över objekt i en beställning eller historik över åtgärder.

Numeriska funktioner

Dessa ML-träningsfunktioner används för att utföra matematiska operationer eftersom dessa funktioner representerar kvantitativa data.

#1. Intervall numeriska funktioner

Intervallfunktioner har konsekventa intervall mellan värden men ingen sann nollpunkt – till exempel temperaturövervakningsdata. Här betyder noll minustemperatur, men attributet finns kvar.

#2. Förhållande Numeriska funktioner

Förhållandefunktioner har konsekventa intervall mellan värden och en sann nollpunkt. Exempel är ålder, längd och inkomst.

Betydelsen av funktionsteknik i ML och datavetenskap

  • Effektiv funktionsextraktion förbättrar modellens noggrannhet, vilket gör förutsägelser mer tillförlitliga och värdefulla för beslutsfattande.
  • Noggrant funktionsval eliminerar irrelevanta eller redundanta attribut, förenklar modeller och sparar beräkningsresurser.
  • Välkonstruerade funktioner avslöjar datamönster, vilket hjälper dataforskare att förstå komplexa samband inom datamängden.
  • Att skräddarsy funktioner till specifika algoritmer kan optimera modellens prestanda över olika maskininlärningsmetoder.
  • Välkonstruerade funktioner leder till snabbare modellutbildning och minskade beräkningskostnader, vilket effektiviserar ML-arbetsflödet.
  • Därefter kommer vi att utforska steg-för-steg-processen för funktionsteknik.

    Funktionsteknik steg-för-steg

  • Datainsamling: Det första steget innebär att samla in rådata från olika källor, såsom databaser, filer eller API:er.
  • Datarengöring: När du har fått din data måste du rensa den genom att identifiera och rätta till eventuella fel, inkonsekvenser eller extremvärden.
  • Hantera saknade värden: Saknade värden kan förvirra funktionslagret för ML-modellen. Om du ignorerar dem kommer din modell att vara partisk. Så du måste undersöka mer för att mata in de saknade värdena eller försiktigt utelämna dem utan att påverka modellen med bias.
  • Koda kategoriska variabler: Du måste konvertera kategoriska variabler till numeriska format för maskininlärningsalgoritmer.
  • Skalning och normalisering: Skalning säkerställer att numeriska funktioner är på en konsekvent skala. Det förhindrar funktioner med stora värden från att dominera maskininlärningsmodellen.
  • Funktionsval: Detta steg hjälper till att identifiera och behålla de mest relevanta funktionerna, minska dimensionaliteten och förbättra modellens effektivitet.
  • Skapande av funktioner: Ibland kan nya funktioner konstrueras från befintliga för att fånga värdefull information.
  • Funktionstransformation: Transformationstekniker som logaritmer eller effekttransformationer kan göra din data mer lämpad för modellering.
  • Därefter kommer vi att diskutera funktionsteknikmetoder.

    Funktionsteknikmetoder

    #1. Principal Component Analysis (PCA)

    PCA förenklar komplexa data genom att hitta nya okorrelerade funktioner. Dessa kallas huvudkomponenter. Du kan använda den för att minska dimensionaliteten och förbättra modellens prestanda.

    #2. Polynomegenskaper

    Att skapa polynomegenskaper innebär att lägga till krafter hos befintliga funktioner för att fånga komplexa relationer i dina data. Det hjälper din modell att förstå icke-linjära mönster.

    #3. Hantering av extremvärden

    Outliers är ovanliga datapunkter som kan påverka prestandan hos dina modeller. Du måste identifiera och hantera extremvärden för att förhindra skeva resultat.

    #4. Loggförvandling

    Logaritmisk transformation kan hjälpa dig att normalisera data med en skev fördelning. Det minskar effekten av extrema värden för att göra data mer lämpade för modellering.

    #5. t-Distribuerad Stokastisk Neighbor Inbäddning (t-SNE)

    t-SNE är användbart för att visualisera högdimensionell data. Det minskar dimensionalitet och gör kluster mer uppenbara samtidigt som datastrukturen bevaras.

    I denna funktionsextraktionsmetod representerar du datapunkter som punkter i ett mindre dimensionellt utrymme. Sedan placerar du liknande datapunkter i det ursprungliga högdimensionella utrymmet och modelleras så att de ligger nära varandra i den lägre dimensionella representationen.

    Den skiljer sig från andra dimensionsreduktionsmetoder genom att bevara strukturen och avstånden mellan datapunkter.

    #6. One-Hot Encoding

    One-hot-kodning omvandlar kategoriska variabler till binärt format (0 eller 1). Så du får nya binära kolumner för varje kategori. One-hot-kodning gör kategorisk data lämplig för ML-algoritmer.

    #7. Räknekodning

    Räknekodning ersätter kategoriska värden med antalet gånger de visas i datamängden. Det kan fånga värdefull information från kategoriska variabler.

    I den här metoden för funktionsteknik använder du frekvensen eller antalet för varje kategori som en ny numerisk funktion istället för att använda de ursprungliga kategorietiketterna.

    #8. Funktionsstandardisering

    Särdrag av större värden dominerar ofta drag av små värden. Således kan ML-modellen lätt bli partisk. Standardisering förhindrar sådana orsaker till fördomar i en maskininlärningsmodell.

    Standardiseringsprocessen involverar vanligtvis följande två vanliga tekniker:

    • Z-Score Standardization: Denna metod transformerar varje funktion så att den har ett medelvärde (genomsnitt) på 0 och en standardavvikelse på 1. Här subtraherar du medelvärdet av egenskapen från varje datapunkt och dividerar resultatet med standardavvikelsen.
    • Min-Max-skalning: Min-max-skalning omvandlar data till ett specifikt område, vanligtvis mellan 0 och 1. Du kan åstadkomma detta genom att subtrahera minimivärdet för funktionen från varje datapunkt och dividera med området.

    #9. Normalisering

    Genom normalisering skalas numeriska egenskaper till ett gemensamt intervall, vanligtvis mellan 0 och 1. Det upprätthåller de relativa skillnaderna mellan värden och säkerställer att alla funktioner är på lika villkor.

    #1. Funktionsverktyg

    Funktionsverktyg är ett Python-ramverk med öppen källkod som automatiskt skapar funktioner från tids- och relationsdatauppsättningar. Den kan användas med verktyg som du redan använder för att utveckla ML-pipelines.

    Lösningen använder Deep Feature Synthesis för att automatisera funktionsteknik. Den har ett bibliotek med lågnivåfunktioner för att skapa funktioner. Featuretools har också ett API, vilket också är idealiskt för exakt hantering av tid.

    #2. CatBoost

    Om du letar efter ett bibliotek med öppen källkod som kombinerar flera beslutsträd för att skapa en kraftfull prediktiv modell, gå till CatBoost. Denna lösning ger exakta resultat med standardparametrar, så du behöver inte spendera timmar på att finjustera parametrarna.

    CatBoost låter dig också använda icke-numeriska faktorer för att förbättra dina träningsresultat. Med den kan du också förvänta dig att få mer exakta resultat och snabbare förutsägelser.

    #3. Funktionsmotor

    Funktionsmotor är ett Python-bibliotek med flera transformatorer och utvalda funktioner som du kan använda för ML-modeller. Transformatorerna som den innehåller kan användas för variabel transformation, skapande av variabel, datetime-funktioner, förbearbetning, kategorisk kodning, outlier-tak eller borttagning och tillskrivning av saknad data. Den kan automatiskt känna igen numeriska, kategoriska och datetime-variabler.

    Feature Engineering Learning Resources

    Onlinekurser och virtuella klasser

    #1. Funktionsteknik för maskininlärning i Python: Datacamp

    Detta Datacamp kurs om funktionsteknik för maskininlärning i Python gör det möjligt för dig att skapa nya funktioner som förbättrar din maskininlärningsmodells prestanda. Det kommer att lära dig att utföra funktionsteknik och datamunging för att utveckla sofistikerade ML-applikationer.

    #2. Funktionsteknik för maskininlärning: Udemy

    Från Funktionsteknik för maskininlärningkommer du att lära dig ämnen inklusive imputering, variabelkodning, funktionsextraktion, diskretisering, datetime-funktionalitet, extremvärden, etc. Deltagarna kommer också att lära sig att arbeta med sneda variabler och hantera sällsynta, osedda och sällsynta kategorier.

    #3. Funktionsteknik: Pluralsight

    Detta Pluralsight utbildningsvägen har totalt sex kurser. Dessa kurser hjälper dig att lära dig vikten av funktionsteknik i ML-arbetsflödet, sätt att tillämpa dess tekniker och funktionsextraktion från text och bilder.

    #4. Funktionsval för maskininlärning: Udemy

    Med hjälp av detta Udemy kursen kan deltagarna lära sig blanda funktioner, filter, omslag och inbäddade metoder, rekursiv eliminering av funktioner och uttömmande sökning. Den diskuterar också tekniker för urval av funktioner, inklusive de med Python, Lasso och beslutsträd. Den här kursen innehåller 5,5 timmars on-demand-video och 22 artiklar.

    #5. Funktionsteknik för maskininlärning: Bra lärande

    Denna kurs från Bra lärande kommer att introducera dig till funktionsteknik samtidigt som du lär dig om över- och undersampling. Dessutom låter den dig utföra praktiska övningar på modellinställning.

    #6. Funktionsteknik: Coursera

    Gå med i Coursera kurs för att använda BigQuery ML, Keras och TensorFlow för att utföra funktionsutveckling. Denna kurs på mellannivå täcker också avancerade funktionstekniker.

    Digitala eller inbundna böcker

    #1. Funktionsteknik för maskininlärning

    Den här boken lär dig hur du omvandlar funktioner till format för maskininlärningsmodeller.

    Den lär dig också funktionstekniska principer och praktisk tillämpning genom träning.

    #2. Funktionsteknik och urval

    Genom att läsa den här boken lär du dig metoderna för att utveckla prediktiva modeller i olika stadier.

    Från den kan du lära dig tekniker för att hitta de bästa prediktorrepresentationerna för modellering.

    #3. Funktionsteknik på ett enkelt sätt

    Boken är en guide för att förbättra förutsägelsekraften hos ML-algoritmer.

    Den lär dig att designa och skapa effektiva funktioner för ML-baserade applikationer genom att erbjuda djupgående datainsikter.

    #4. Feature Engineering Bookcamp

    Den här boken behandlar praktiska fallstudier för att lära dig funktionstekniker för bättre ML-resultat och uppgraderad datatvistelse.

    Genom att läsa detta säkerställer du att du kan leverera förbättrade resultat utan att lägga mycket tid på att finjustera ML-parametrarna.

    #5. Konsten att designteknik

    Resursen fungerar som ett viktigt element för alla datavetare eller maskininlärningsingenjörer.

    Boken använder en övergripande strategi för att diskutera grafer, texter, tidsserier, bilder och fallstudier.

    Slutsats

    Så det är så här du kan utföra funktionsteknik. Nu när du känner till definitionen, den stegvisa processen, metoderna och lärresurserna kan du implementera dessa i dina ML-projekt och se framgången!

    Nästa upp, kolla in artikeln om förstärkningsinlärning.