Automatisk funktionsgenerering
Med automatisk funktionsgenerering kan Qlik AutoML använda befintliga funktioner när du tränar data för att skapa nya funktioner. Med de här nya autogenererade funktionerna kan du upptäcka nya mönster i dina data och kan förbättra prestandan för dina modeller för maskininlärning avsevärt.
Funktionsutveckling är processen att skapa nya funktionskolumner från befintliga kolumner. AutoML kan utföra funktionsgenerering automatiskt för att förbättra hanteringen av vissa typer av data. Mer information om funktionsgenerering finns i Skapa nya funktionskolumner.
Autogenererade datumfunktioner och de överordnade funktioner som de härleds från markeras med en -ikon.
När du har valt en datauppsättning som ska användas i ditt experiment analyseras datauppsättningen och kolumnerna i den fastställs innehålla vissa datatyper. De här datatyperna gör det möjligt för AutoML att tilldela en funktionstyp till varje kolumn i datauppsättningen. Varje kolumn tilldelas en av följande funktionstyper:
-
Kategorisk
-
Numerisk
-
Datum
-
Fritext
AutoML visar om möjligt en lista över autogenererade funktioner som kan skapas från passande överordnade funktioner. Den här listan med autogenererade funktioner förfinas ytterligare och reduceras när förbehandlingen påbörjas. Vi rekommenderar att du inkluderar autogenererade funktioner i ditt experiment, men det är valfritt att göra det. Du kan ta bort individuella autogenererade funktioner innan du påbörjar träningen, och när du konfigurerar en ny experimentversion.
Mer information om de processer som slutförs innan experimentträningen påbörjas finns i Automatisk förberedelse och omvandling av data.
Generering av datumfunktioner
AutoML genererar autogenererade funktioner från passande kolumner med datumfunktionstypen och som har fastställts innehålla datum- och tidsinformation. Autogenererade funktioner och de överordnade funktioner som de härleds från markeras med en -ikon.
När Qlik Cloud-analys profilerar den träningsdatauppsättning som du har valt att använda i AutoML länkar den vissa datatyper till datumfunktionstypen. Det här omfattar följande datatyper:
-
Datum
-
Datetime
-
Tid
-
Tidsmarkör
Funktioner som tilldelas någon av dessa datatyper under profileringen tilldelas datumfunktionstypen. Mer information om de tillgängliga profilstatistiken som kan visas för dina datafält finns i Profillistvy.
AutoML visar om möjligt en lista över autogenererade funktioner som kan skapas från passande överordnade funktioner som har datumfunktionstypen. Autogenererade datumfunktioner inkluderas som standard i experimentet. Om du väljer att inkludera dem genereras de nya funktionerna efter v1 av experimentet.
Autogenererade datumfunktioner har den numeriska funktionstypen. De ingår som standard i experimentet, men är valfria. Du kan ta bort några eller alla av dem innan du börjar med experimentträningen, eller när du konfigurerar nästa experimentversion. När autogenererade datumfunktioner inkluderas tas den ursprungliga överordnade datumfunktionen bort från experimentet.
Du kan istället inkludera den överordnade datumfunktionen som en kategorisk eller numerisk funktion. När du gör detta är de automatiskt konstruerade datumfunktionerna inte längre användbara. Vi rekommenderar oftast att du använder tillgängliga autogenererade funktioner i ditt experiment, eftersom de förbättrar prestandan hos dina maskininlärningsmodeller. Det kan dock finnas scenarier där en kolumn identifieras som en datumfunktion men du vill att den ska behandlas som kategorisk eller numerisk. I dessa fall kan du manuellt ändra funktionstypen.
Autogenererade datumfunktioner räknas inte mot AutoML-datauppsättningens storlek (maximalt cellantal för träningsdatauppsättningar och tillämpningsdatauppsättningar) som har angetts i din Qlik Cloud-prenumeration. Bara de ursprungliga datumkolumncellerna räknas.
Använda datumfunktioner som experimentmål
I de sällsynta fall då du vill använda en funktion med datum- och tidsinformation som mål för ditt experiment kommer funktionstypen för kolumnen att växlas från datum till kategorisk och de autogenererade funktionerna kommer att tas bort. Om du väljer ett annat mål och senare skulle vilja lägga till datum- och tidsfunktionen som en vanlig funktion kommer du att behöva ändra tillbaka den till datumfunktionstypen manuellt vid behov. Om du returnerar funktionen till datumfunktionstypen genereras de autogenererade datumfunktionerna igen.
Mer information om hur man ändrar funktionstyper finns i Ändra funktionstyper.
Tillgängliga autogenererade datumfunktioner
När du genererar autogenererade datumfunktioner från en kolumn i din datauppsättning extraherar och beräknar AutoML specifika komponenter för varje datum- och datum-tidvärde så att varje komponent isoleras i sin egen kolumn. I nedanstående tabell listas de autogenererade funktioner som kan genereras av AutoML.
autogenererad funktion | Datatyp | Funktionstyp | Beskrivning |
---|---|---|---|
YEAR | Heltal | Numerisk | Årsfält som parsas direkt från källdatumet eller tidsstämpeln. |
MONTH | Heltal | Numerisk | Månadsfält som parsas direkt från källdatumet eller tidsstämpeln. |
DAY | Heltal | Numerisk | Dagsfält som parsas direkt från källdatumet eller tidsstämpeln. |
HOUR | Heltal | Numerisk | Timfält som parsas direkt från källtidsstämpeln. |
MINUTE | Heltal | Numerisk | Minutfält som parsas direkt från källtidsstämpeln. |
SECOND | Heltal | Numerisk | Andra fält som parsas direkt från källtidsstämpeln. |
DAYOFWEEK | Heltal | Numerisk | Veckodag, beräknat från källdag, -månad och -år |
WEEK | Heltal | Numerisk | Vecka på året, beräknat från källdag, -månad och -år |
För varje ny funktion som skapas läggs ett suffix till originalkolumnnamnet av den aktuella autogenererade funktionen.
Autogenererade datumfunktioner i förutsägelser
Autogenererade datumfunktioner genereras när träningsdatauppsättningen används för att skapa en modell som distribueras och används som ML-distribution för att göra förutsägelser på nya data (tillämpningsdatauppsättningen).
När en modell som tränats med autogenererade datumfunktioner distribueras för att göra förutsägelser behöver tillämpningsdatauppsättningen som du genererar förutsägelser på inkluderade autogenererade datumfunktioner. AutoML genererar de autogenererade funktionerna för tillämpningsdatauppsättningen innan förutsägelser görs. Men tillämpningsdatauppsättningen måste inkludera den överordnade datumfunktionen och kolumnen måste ha profileras för att ha någon av datatyperna Date, Datetime, Timestamp eller Time.
Förutsägelsedatauppsättningarna som skapas av en ML-distribution, inklusive SHAP och tillämpningsdatauppsättningar kommer att inkludera de autogenererade datumfunktionerna.
Autogenererade datumfunktioner i realtidsförutsägelser
För att realtidsförutsägelse-API:t ska kunna bearbeta dina datum- och tidsstämpelsfält måste JSON-nyttolasten som du skickar till realtidsförutsägelse-API:t uppfylla nedanstående krav:
-
Date- och datetime-värdena måste vara strängar som är formaterade enligt ISO 8601-standarderna
-
Data inom varje kolumn måste vara inom samma tidszon
Hantering av fritextdata
För fritext (exempelvis textsträngsdata som fylls i i formulär) krävs särskild bearbetning av maskininlärningsalgoritmer för att den ska vara användbar i en modell. I Qlik AutoML är bearbetning av fritext en form av automatisk funktionsgenerering. Tekniskt sätt använder denna bearbetning TFT-IDF-metoden (term frequency - inverse document frequency).
AutoML har stöd för separat bearbetning av funktioner med fritextdata på engelska.
Om en kolumn i dina träningsdata innehåller fritext tilldelas den funktionstypen fritext. Den kan också användas som en kategorisk funktion, men vi avråder starkt från detta om den har en hög kardinalitet (för många unika värden).
Du kan maximalt välja att använda tre kolumner som fritextfunktioner i ett experiment.
Krav för fritextkodning
För att en kolumn som innehåller fritext ska kodas som fritext måste den uppfylla två krav. Dessa krav kontrolleras vid olika tidpunkter när experimentet skapas.
Kraven är:
-
Kolumnen måste ha en genomsnittlig teckenlängd på 50 eller fler tecken.
-
Kolumnen måste ha en genomsnittlig ordlängd på fem eller fler ord.
Behandla en funktion som fritext
Processen att behandla en funktion som fritext är som följer:
-
När du väljer dina träningsdata identifierar Qlik AutoML funktioner som eventuellt kan bearbetas som fritext. De markeras med insikten Möjlig fritext i schemavyn och kommer att ha typen fritext.
-
När du har kört v1 av experimentet slutförs ytterligare analys. Här kan det hända att funktioner som ursprungligen markerats som möjlig fritext konstateras vara oanvändbara som fritextfunktioner.
Om funktionerna som är oanvändbara som fritext har hög kardinalitet rekommenderar vi att du väljer bort dem från experimentet. De här funktionerna tillför inget värde till modellens prestanda när de behandlas som kategoriska.
Om funktionerna som är oanvändbara som fritext inte har hög kardinalitet kan du inkludera dem i dina experiment genom att klicka på Behandla som kategorisk, eller genom att växla deras Funktionstyp från fritext till kategorisk. Om du lämnar funktionstypen som fritext kommer den att bearbetas som kategorisk även internt, och kommer att effektkodas.
Fullständig information om förbearbetning, se Automatisk förberedelse och omvandling av data.
Mer information om de insikter som visas i schemavyn finns i Visar insikter om träningsdata.
Använda en fritextfunktion som experimentmål
I sällsynta fall kan en fritextfunktion kan väljas som mål. Om funktionen uppfyller alla krav för fritextkodning och innehåller mellan två och tio unika värden kan den användas som mål. I de här scenarierna definieras experimentet som ett normalt binärt eller multiklassklassificeringsproblem.
Fritextfunktioner i prognoser
När du distribuerar en modell som tränats med en fritextfunktion kan den resulterande ML-distributionen generera prognoser, så länge som följande krav är uppfyllda för den tillämpade datauppsättningen.
-
Kolumnnamnen för funktionen matchar mellan träningsdatauppsättningen och den tillämpade datauppsättningen
-
Kolumnen i den tillämpade datauppsättningen, som motsvarar fritextfunktionen i träningsdata, innehåller strängdata
Överväganden
Att inkludera fritextfunktioner i ditt experiment ökar komplexiteten hos experimentet och de processer som krävs för att köra det. Det kan hända att Permutationsbetydelse-diagram inte är tillgängliga för de resulterande modellerna om dina fritextdata är tillräckligt komplexa.
Felsökning
Att använda fritextdata för att träna en modell kan vara en resursintensiv process. Det kan inträffa ett fel när du inkluderar fritextkolumner som innehåller ett stort antal unika ord som funktioner.
Här är några riktlinjer för att åtgärda de här felen:
-
Minska datadelmängden i din träningsdatauppsättning så att den innehåller färre rader med fritext.
-
Ta bort fritextfunktioner du inte behöver ta med i modellträningen.
-
Behandla en eller flera fritextkolumner som kategoriska snarare än fritextfunktioner. Observera att detta inte rekommenderas om de här textfunktionerna innehåller hög kardinalitet.