Enhed 6 / 11

Generering af grafik med kunstig intelligens: Fra kode til visuel med verifikation

Gevinster:

  • Evne til at opnå deterministiske og repeterbare resultater ved at udskrive koden, der producerer grafen, ikke billedet af grafen, til den kunstige intelligens og køre den selv
  • Evne til at validere diagramoutput mod data med værdi, integritet, skala og sum kontrolsummer
  • Evne til at pålægge ærlighedsregler (fra akse 0, direkte etiket, kildenote) og stole på kode i stedet for verbal gæt

Du har valgt den korrekte diagramtype; Nu er det tid til at producere det. Den mest pålidelige brug af kunstig intelligens her er ikke at bede den om at "tegne" grafen, men at udskrive koden, der producerer grafen, og selv køre den kode. Hvorfra? Fordi den store sprogmodel er tekstgeneratoren; kan verbalt "gætte" et tal, men koden behandler dataene, som de er, og producerer et deterministisk resultat (giver altid det samme output til det samme input). I denne enhed lærer vi, hvordan man udskriver grafisk kode (for det meste Python) til AI og verificerer outputtet.

Hvorfor kode, hvorfor køre?

Spørg en sprogmodel "hvad er salget i alt?" Hvis du spørger, indsamler den faktisk ikke dataene; Genererer et muligt tal. Men hvis du udskriver aggregeringskoden til den og kører den, kommer resultatet fra de rigtige data. Det samme gælder diagrammet: Den kode, modellen genererer, kører på dine data, på din maskine. Koden kan også gentages: Når dataene er opdateret, kører du koden igen og opdaterer diagrammet.

Fælles værktøjer: matplotlib og seaborn (statisk plot), plotly (interaktivt plot) med Python-sprog; også regnearksprogrammer og BI (business intelligence) værktøjer. I denne enhed vil vi give eksempler med Python/matplotlib, fordi det er det mest almindelige; Princippet er det samme i alle køretøjer.

Tip: I stedet for "giv mig et billede af diagrammet", skal du sige "giv mig koden, der producerer diagrammet, så kører jeg det." På denne måde kommer resultatet fra rigtige data, og du kan foretage lige så mange justeringer, du vil.

Trin for trin: fra kode til grafik

  1. Bestem grafisk type og besked (forrige enhed).
  2. Beskriv datastrukturen til modellen (kolonnenavne, typer; ikke følsomme data).
  3. Få koden genereret, sæt ærlighedsreglerne i prompten (fra akse 0, tag, kildenote).
  4. Kør selv koden og se på grafen.
  5. Tjek: Er værdien i diagrammet den samme som værdien i dataene? Holder totalen/aktien?
  6. Forbedre: Skift titel til handlingstitel, slet unødvendigt, tilføj fremhævelsesfarve.

Din rolle: Python-datavisualiseringsassistent. Jeg har en CSV: kolonner "måned" (ÅÅÅÅ-MM), "kanal" (tekst), "omsætning" (antal). Skriv en LINE grafkode med matplotlib:- Hver kanal er en separat linje, x=måned, y=kom.- Lad y-aksen starte fra 0 (skær ikke).- Sæt etiketter direkte i slutningen af ​​linjerne, en separat forklaring er ikke påkrævet.- Sæt en pladsholder for handlingstitlen i titlen.- Tilføj en lille "Kilde: [ ... ]" note. Gør koden komplet og eksekverbar, skriv også eksempellæselinjen. TILPASNING AF NUMMERET; læse data fra CSV.

Sådan rettes et eksisterende diagram:

Ret denne matplotlib-kode: (1) sorter søjlerne efter værdi fra størst til mindste, (2) gør kun den højeste søjle orange og resten grå, (3) få y-aksen til at starte ved 0, (4) formater decimaler med tusinde-separator. Returner koden i sin helhed. Kode: [ ... ]

For interaktivt diagram (til dashboard):

Skriv en interaktiv linjediagramkode ved hjælp af Plotly med de samme data: Hvis du holder musen over, vises måneden og indkomsten, og kanalerne kan filtreres. Lad aksen starte fra 0. Angiv den fulde kode.

Validering: er diagrammet "korrekt", ikke "skønt"?

Jobbet er ikke slut, bare fordi grafikken er output. Tre kontrolsummer:

  • Giver værdi: Tjek 2-3 tilfældige punkter i hånden/bord. Er den højeste søjle på diagrammet virkelig den højeste?
  • Samlet/aktiebekræftelse: Er aktierne fuldført til 100 % i hele diagrammet?
  • Visuel ærlighed: Starter aksen ved 0, er skalaen lineær, er det den samme enhed? (Detaljer i næste enhed.)

kontrol

Hvordan man plejer

rødt flag

Værdi

Sammenlign 2-3 point med data

Grafdata stemmer ikke overens

integritet

Mangler der nogle måneder/kategorier?

Mellemrummet blev stille springet over

skala

Hvor starter Y-aksen

ikke 0, forskellen er overdrevet

I alt

Andele/totaler

Det holder ikke 100%

Forsigtig: Modellen "fuldfører" nogle gange måneder, der mangler fra dataene, eller kasserer lydløst den manglende række. Se om antallet af punkter på diagrammet matcher antallet af rækker i dataene.

tre minisager

Tilfælde 1 — Forudsigelse af kodeslag. En analytiker spørger først modellen "hvor meget er det i alt?" spurgte han, og fik svaret "≈4,2 mio.". Derefter printede han tilføjelseskoden ud og kørte den: den faktiske total var 3,87 mio. Den verbale forudsigelse var 8 % forkert. Fra den dag af fik han hvert tal fra koden.

Tilfælde 2 — Tavs manglende linje. Et hold fik fremstillet det månedlige diagram; alt så fint ud. Men marts var tom i dataene, og diagrammet sprang over det og linkede februar til april; Det så blødt ud, fordi det var på trend. De lagde mærke til antallet af prikker (det skulle have været 12 i stedet for 11) og rettede det; Der var et spring i den faktiske tendens.

Tilfælde 3 — Reproducerbarhed. En marketingmedarbejder tegnede diagrammer i hånden hver måned (ca. 40 minutter). En gang installerede han koden skrevet af den kunstige intelligens; I de følgende måneder tog det 2 minutter at indsætte den nye CSV og køre koden. Sparet 38 minutter om måneden og ikke flere manuelle kopieringsfejl.

Svag prompt / Stærk prompt

Svag:

Tegn disse salgsdata grafisk.

Modellen kan passe til et billede eller give tilfældig kode; dataene bliver faktisk ikke behandlet, der er ingen ærlighedsindstillinger.

Stærk:

Din rolle: Python/matplotlib-hjælper. Data: CSV, kolonner "region" (tekst), "buyume_percentage" (antal, kan være negativt). Skriv vandret stregdiagramkode: sorter efter værdi, fremhæv højeste område, tilføj y=0 referencelinje (vis negativer), sæt procentetiketter ved søjleender. Giv kode eksekverbar, læst fra CSV, nummertilpasning. Sæt en pladsholder for handlingstitel for titlen.

Det andet inkluderer datastruktur, ærlighedsregler og "læs fra kode, gør det ikke op"-princippet; Outputtet er både nøjagtigt og redigerbart.

Værktøjsvalg: når regneark, hvornår kode?

Du behøver ikke at skrive kode for hvert diagram. For et lille enkelt, enkelt diagram er et regneark (Excel, Google Spreadsheets) ofte tilstrækkeligt og hurtigt. Koden vinder, når: dataene opdateres regelmæssigt (opdater det samme diagram hver måned), diagrammet er komplekst eller talrigt (såsom små flere diagrammer), fuld kontrol er påkrævet (integritetsindstillinger, tilpasset mærkning), eller det er vigtigt, at resultatet kan gentages. Du kan også spørge, hvilken der er egnet til kunstig intelligens.

Status

passende køretøj

Hvorfor

Engangs-simpel bar

regneark

Hurtigt, ingen kode påkrævet

Rapport opdateres hver måned

Kode (Python)

Skriv en gang, løb igen

Interaktivt/filter dashboard

Kode (plotly) / BI-værktøj

interaktion påkrævet

Masser af små grafik

Kode

At tegne i hånden er trættende og unøjagtig

Din rolle: Datavisualiseringskonsulent. Jeg skal lave følgende graf:[opskrift]. [Hvor ofte] opdateres dataene, [hvor mange] forskellige diagrammer er påkrævet. Giver et regneark eller Python-kode mere mening? Begrund din beslutning; Hvilket bibliotek anbefaler du til kode?

Tip: "Gør jeg det igen hver måned?" Hvis svaret på spørgsmålet er "ja", betaler kodeinvesteringen sig næsten altid tilbage. Hvis det er en enkeltstående, vil et regneark være tilstrækkeligt.

Almindelige fejl

  • Beder om et "billede" af diagrammet: Når du beder om et billede i stedet for kode, bliver dataene faktisk ikke behandlet.
  • At stole på koden uden at udføre den: Sætte outputtet på diaset uden visuelt at verificere det.
  • Leverer ikke værdivalidering: Sammenligner ikke punkter på diagrammet med data.
  • Kan ikke se den manglende/springede linje: Kontrollerer ikke antallet af prikker.
  • At behandle det som et engangsjob: Ikke at holde koden og starte fra bunden hver måned.

Sammenfattende

Bed den kunstige intelligens om koden, der producerer grafen, ikke billedet af grafen, og kør den kode selv; fordi koden behandler dataene, som de er, og giver deterministiske og gentagelige resultater. Beskriv datastrukturen, indsæt integritetsregler (fra akse 0, etiket, kilde) i anmodningen, valider output med værdi-integritet-skala-sum hashes. Kode slår verbal forudsigelse hver gang; Men den endelige kontrol er din.

Ansøgningsopgave

For din datafil: (1) Beskriv datastrukturen til AI og udskriv en grafgenereringskode (med ærlighedsregler). (2) Kør koden og sammenlign manuelt 2-3 værdier i diagrammet med dataene. (3) I den samme kode skal du sortere stregerne efter værdi og tilføje en enkelt fremhævet farve. (4) Gem koden, så du kan bruge den igen næste måned.

tjekliste

  • [ ] Jeg ønskede og kørte koden, der producerer diagrammet, ikke billedet af det.
  • [ ] Koden læser data fra den rigtige fil, den udgør ikke tal.
  • [ ] Jeg sammenlignede 2-3 værdier i diagrammet med dataene.
  • [ ] Antallet af point/kategorier er kompatibelt med rækkerne i dataene.
  • [ ] Y-akse og skala er ærlige; Der er ingen akseafbrydelse.
  • [ ] Jeg gemte koden for at bruge den igen.