Enhet 6 / 11

Generera grafik med artificiell intelligens: från kod till visuellt, med verifiering

Vinster:

  • Förmåga att få deterministiska och repeterbara resultat genom att skriva ut koden som producerar grafen, inte bilden av grafen, till den artificiella intelligensen och köra den själv
  • Möjlighet att validera diagramutdata mot data med värde, integritet, skala och summakontrollsummor
  • Förmåga att införa ärlighetsregler (från axel 0, direkt etikett, källanteckning) och lita på kod istället för verbala gissningar

Du har valt rätt diagramtyp; Nu är det dags att producera den. Den mest tillförlitliga användningen av artificiell intelligens här är inte att be den att "rita" grafen, utan att skriva ut koden som producerar grafen och köra den koden själv. Varifrån? För den stora språkmodellen är textgeneratorn; kan verbalt "gissa" ett tal, men koden bearbetar data som den är och producerar ett deterministiskt resultat (alltid ger samma utdata till samma ingång). I den här enheten kommer vi att lära oss hur man skriver ut grafisk kod (mest Python) till AI och verifierar utdata.

Varför kod, varför köra?

Fråga en språkmodell "vad är försäljningssumman?" Om du frågar, samlar den faktiskt inte in data; Genererar ett möjligt antal. Men om du skriver ut aggregeringskoden till den och kör den, kommer resultatet från den verkliga datan. Detsamma gäller diagrammet: koden som modellen genererar körs på dina data, på din maskin. Koden är också repeterbar: när data uppdateras kör du koden igen och uppdaterar diagrammet.

Vanliga verktyg: matplotlib och seaborn (statisk plot), plotly (interaktiv plot) med Python-språk; även kalkylprogram och BI-verktyg (business intelligence). I den här enheten kommer vi att ge exempel med Python/matplotlib eftersom det är det vanligaste; Principen är densamma i alla fordon.

Tips: Istället för "ge mig en bild av diagrammet", säg "ge mig koden som producerar diagrammet så kör jag det." På så sätt kommer resultatet från riktiga data och du kan göra hur många justeringar du vill.

Steg för steg: från kod till grafik

  1. Bestäm grafisk typ och meddelande (föregående enhet).
  2. Beskriv datastrukturen för modellen (kolumnnamn, typer; inte känsliga data).
  3. Få koden genererad, sätt ärlighetsreglerna i prompten (från axel 0, tagg, källanteckning).
  4. Kör koden själv och titta på grafen.
  5. Kontrollera: Är värdet i diagrammet detsamma som värdet i datan? Håller summan/aktien?
  6. Förbättra: Ändra titel till handlingstitel, radera onödiga, lägg till högdagerfärg.

Din roll: Python datavisualiseringsassistent. Jag har en CSV: kolumner "månad" (ÅÅÅÅ-MM), "kanal" (text), "intäkter" (antal). Skriv en LINE-grafkod med matplotlib:- Varje kanal är en separat linje, x=månad, y=kom.- Låt y-axeln börja från 0 (klipp inte).- Sätt etiketter direkt i slutet av raderna, en separat förklaring krävs inte.- Sätt en platshållare för åtgärdstiteln i titeln.- Lägg till en liten "Källa: [ ... ] till höger". Gör koden komplett och körbar, skriv även läsexemplet. PASSA NUMRET; läsa data från CSV.

Så här fixar du ett befintligt diagram:

Fixa den här matplotlib-koden: (1) sortera staplarna efter värde från största till minsta, (2) gör bara den högsta stapeln orange och resten grå, (3) gör att y-axeln börjar på 0, (4) formaterar decimaler med tusentalsavgränsare. Skicka tillbaka koden i sin helhet. Kod: [ ... ]

För interaktivt diagram (för instrumentpanelen):

Skriv en interaktiv linjediagramkod med hjälp av Plotly med samma data: om du håller musen för musen visas månad och inkomst, och kanaler kan filtreras. Låt axeln börja från 0. Ange hela koden.

Validering: är diagrammet "korrekt", inte "snyggt"?

Jobbet är inte över bara för att grafiken matas ut. Tre kontrollsummor:

  • Ange värde: Kontrollera 2-3 slumpmässiga punkter för hand/bord. Är den högsta stapeln på diagrammet verkligen den högsta?
  • Total/aktieverifiering: Är aktierna slutförda till 100 % i hela diagrammet?
  • Visuell ärlighet: Börjar axeln på 0, är ​​skalan linjär, är det samma enhet? (Detaljer i nästa enhet.)

kontroll

Hur man bryr sig

röd flagga

Värde

Jämför 2-3 poäng med data

Grafdata matchar inte

integritet

Saknas det några månader/kategorier?

Mellanrummet hoppades tyst över

skala

Var börjar Y-axeln

inte 0, skillnaden är överdriven

Totalt

Aktier/summor

Det håller inte 100%

Varning: Modellen "fullbordar" ibland månader som saknas i data eller kasserar den saknade raden tyst. Se om antalet punkter i diagrammet matchar antalet rader i datan.

tre minifodral

Fall 1 — Förutsägelse av kodslag. En analytiker frågar först modellen "hur mycket är det totala?" frågade han och fick svaret "≈4,2 miljoner". Sedan skrev han ut tilläggskoden och körde den: den faktiska summan var 3,87 miljoner. Den verbala förutsägelsen var 8 % fel. Från den dagen fick han varje nummer från koden.

Fall 2 — Tyst saknad linje. Ett lag lät producera månadsdiagrammet; allt såg bra ut. Men mars var tom i data, och diagrammet hoppade över det och länkade februari till april; Det såg mjukt ut eftersom det var trendigt. De lade märke till antalet punkter (det borde ha varit 12 istället för 11) och korrigerade det; Det var ett hopp i den faktiska trenden.

Fall 3 – Reproducerbarhet. En marknadsförare ritade diagram för hand varje månad (cirka 40 minuter). En gång installerade han koden skriven av den artificiella intelligensen; Under de följande månaderna tog det 2 minuter att lägga in den nya CSV:en och köra koden. Sparade 38 minuter per månad och inga fler manuella kopieringsfel.

Svag prompt / Stark prompt

Svag:

Rita denna försäljningsdata.

Modellen kan passa en bild eller ge slumpmässig kod; uppgifterna faktiskt inte behandlas, det finns inga ärlighetsinställningar.

Stark:

Din roll: Python/matplotlib-hjälpare. Data: CSV, kolumner "region" (text), "buyume_percentage" (antal, kan vara negativt). Skriv horisontell streckdiagramkod: sortera efter värde, markera högsta område, lägg till y=0 referenslinje (visa negativ), sätt procentetiketter vid stapeländarna. Ge kod körbar, läs från CSV, nummeranpassning. Sätt en platshållare för åtgärdstiteln för titeln.

Den andra inkluderar datastruktur, ärlighetsregler och principen "läs från kod, gör inte upp det"; Resultatet är både korrekt och redigerbart.

Val av verktyg: när kalkylblad, när kod?

Du behöver inte skriva kod för varje diagram. För ett litet, enstaka enkelt diagram räcker ofta ett kalkylblad (Excel, Google Spreadsheets) och snabbt. Koden vinner när: data uppdateras regelbundet (uppdaterar samma diagram varje månad), diagrammet är komplext eller många (som små flera diagram), full kontroll krävs (integritetsinställningar, anpassad märkning), eller det är viktigt att resultatet är repeterbart. Du kan också fråga vilken som är lämplig för artificiell intelligens.

Status

lämpligt fordon

Varför

En gång enkel bar

kalkylblad

Snabbt, ingen kod krävs

Rapport uppdateras varje månad

Kod (Python)

Skriv en gång, spring igen

Interaktiv/filter instrumentpanel

Kod (plotly) / BI-verktyg

interaktion krävs

Mycket liten grafik

Kod

Att rita för hand är tröttsamt och felaktigt

Din roll: datavisualiseringskonsult. Jag måste ta fram följande graf:[recept]. [Hur ofta] uppdateras data, [hur många] olika diagram krävs. Är ett kalkylblad eller Python-kod mer vettigt? Motivera ditt beslut; Vilket bibliotek rekommenderar du för kod?

Tips: "Kommer jag att göra det här igen varje månad?" Om svaret på frågan är "ja" betalar kodinvesteringen sig nästan alltid tillbaka. Om det är en engångsföreteelse räcker det med ett kalkylblad.

Vanliga misstag

  • Be om en "bild" av diagrammet: När du ber om en bild istället för kod, bearbetas inte data faktiskt.
  • Lita på koden utan att exekvera den: Lägga utdata på bilden utan att visuellt verifiera den.
  • Ger inte värdevalidering: Jämför inte punkter i diagrammet med data.
  • Ser inte den saknade/hoppade raden: Kontrollerar inte antalet punkter.
  • Behandla det som ett engångsjobb: Att inte behålla koden och börja om från början varje månad.

Sammanfattningsvis

Be den artificiella intelligensen om koden som producerar grafen, inte bilden av grafen, och kör den koden själv; eftersom koden bearbetar data som den är och ger deterministiska och repeterbara resultat. Beskriv datastrukturen, sätt in integritetsregler (från axel 0, etikett, källa) i begäran, validera utdata med värde-integritet-skala-summa-hashar. Koden slår verbal förutsägelse varje gång; Men den sista kontrollen är din.

Applikationsuppgift

För din datafil: (1) Beskriv datastrukturen för AI:n och skriv ut en grafgenereringskod (med ärlighetsregler). (2) Kör koden och jämför manuellt 2-3 värden i diagrammet med data. (3) I samma kod, sortera staplarna efter värde och lägg till en enda markeringsfärg. (4) Spara koden för att använda igen nästa månad.

checklista

  • [ ] Jag ville ha och körde koden som producerar diagrammet, inte bilden av det.
  • [ ] Koden läser data från den verkliga filen, den utgör inga siffror.
  • [ ] Jag jämförde 2-3 värden i diagrammet med data.
  • [ ] Antalet poäng/kategorier är kompatibelt med raderna i data.
  • [ ] Y-axeln och skalan är ärliga; Det finns inget axelavbrott.
  • [ ] Jag sparade koden för att använda igen.