Yunit 6 / 11

Pagbuo ng Mga Graphic na may Artipisyal na Katalinuhan: Mula sa Code hanggang Visual, na may Pag-verify

Mga nadagdag:

  • Kakayahang makakuha ng mga deterministiko at mauulit na resulta sa pamamagitan ng pag-print ng code na gumagawa ng graph, hindi ng larawan ng graph, sa artificial intelligence at pagpapatakbo nito mismo
  • Kakayahang patunayan ang output ng tsart laban sa data na may halaga, integridad, sukat at sum checksum
  • Kakayahang magpataw ng mga panuntunan sa katapatan (mula sa axis 0, direktang label, source note) at umasa sa code sa halip na pasalitang hula

Pinili mo ang tamang uri ng tsart; Ngayon ay oras na upang i-produce ito. Ang pinaka-maaasahang paggamit ng artificial intelligence dito ay hindi para hilingin itong "iguhit" ang graph, ngunit i-print ang code na gumagawa ng graph at patakbuhin ang code na iyon nang mag-isa. saan galing? Dahil ang malaking modelo ng wika ay ang text generator; maaaring pasalitang "hulaan" ang isang numero, ngunit pinoproseso ng code ang data kung ano ito at gumagawa ng isang tiyak na resulta (palaging nagbibigay ng parehong output sa parehong input). Sa unit na ito, matututunan natin kung paano mag-print ng graphical code (karamihan sa Python) sa AI at i-verify ang output.

Bakit code, bakit tumakbo?

Magtanong sa isang modelo ng wika "ano ang kabuuang benta?" Kung tatanungin mo, hindi talaga nito kinokolekta ang data; Bumubuo ng posibleng numero. Ngunit kung ipi-print mo ang aggregation code dito at patakbuhin ito, ang resulta ay mula sa totoong data. Ang parehong napupunta para sa chart: ang code na nabuo ng modelo ay tumatakbo sa iyong data, sa iyong makina. Nauulit din ang code: kapag na-update ang data, patakbuhin mong muli ang code at i-refresh ang chart.

Mga karaniwang tool: matplotlib at seaborn (static plot), plotly (interactive plot) gamit ang wikang Python; pati na rin ang mga spreadsheet program at BI (business intelligence) na mga tool. Sa yunit na ito, magbibigay kami ng mga halimbawa gamit ang Python/matplotlib dahil ito ang pinakakaraniwan; Ang prinsipyo ay pareho sa bawat sasakyan.

Tip: Sa halip na "bigyan ako ng larawan ng chart," sabihin ang "ibigay sa akin ang code na gumagawa ng chart at ako ang magpapatakbo nito." Sa ganitong paraan, ang resulta ay nagmumula sa totoong data at maaari kang gumawa ng maraming pagsasaayos hangga't gusto mo.

Hakbang-hakbang: mula sa code hanggang sa mga graphic

  1. Tukuyin ang uri ng graphic at mensahe (nakaraang yunit).
  2. Ilarawan ang istraktura ng data sa modelo (mga pangalan ng column, mga uri; hindi sensitibong data).
  3. Ipagawa ang code, ilagay ang mga panuntunan sa katapatan sa prompt (mula sa axis 0, tag, source note).
  4. Patakbuhin ang code at tingnan ang graph.
  5. Suriin: Ang halaga ba sa tsart ay pareho sa halaga sa data? Hawak ba ang kabuuan/bahagi?
  6. Pagbutihin: Baguhin ang pamagat sa pamagat ng aksyon, tanggalin ang hindi kailangan, magdagdag ng kulay ng highlight.

Ang iyong tungkulin: Python data visualization assistant. Mayroon akong CSV: mga column na "buwan" (YYYY-MM), "channel" (text), "kita" (numero). Sumulat ng LINE graph code na may matplotlib:- Ang bawat channel ay isang hiwalay na linya, x=month, y=come.- Hayaang magsimula ang y axis sa 0 (huwag putulin).- Maglagay ng mga label nang direkta sa dulo ng mga linya, hindi kinakailangan ang isang hiwalay na alamat.- Maglagay ng placeholder para sa pamagat ng aksyon sa pamagat.- Magdagdag ng maliit na tala sa ibabang "Source: [ ... Gawing kumpleto at maipapatupad ang code, isulat din ang halimbawang linya ng pagbabasa. PAGSASABUHAY NG NUMERO; basahin ang data mula sa CSV.

Upang ayusin ang isang kasalukuyang chart:

Ayusin ang matplotlib code na ito: (1) pagbukud-bukurin ang mga bar ayon sa halaga mula sa pinakamalaki hanggang sa pinakamaliit, (2) gawin lamang ang pinakamataas na bar na orange at ang natitira ay grey, (3) gawin ang y-axis na magsimula sa 0, (4) format na mga decimal na may thousands separator. Ibalik ang code sa kabuuan nito. Code: [ ... ]

Para sa interactive na tsart (para sa dashboard):

Sumulat ng interactive na line chart code gamit ang Plotly na may parehong data: ang pag-hover sa mouse ay magpapakita ng buwan at kita, at ang mga channel ay maaaring i-filter. Hayaang magsimula ang axis sa 0. Ibigay ang buong code.

Pagpapatunay: "tama" ba ang tsart, hindi "maganda"?

Ang trabaho ay hindi pa tapos dahil lang ang mga graphics ay output. Tatlong checksum:

  • Pagbibigay ng halaga: Suriin ang 2-3 random na puntos sa pamamagitan ng kamay/talahanayan. Ang pinakamataas ba na bar sa tsart ay talagang pinakamataas?
  • Total/share verification: Nakumpleto ba ang mga share sa 100% sa part-whole chart?
  • Visual honesty: Nagsisimula ba ang axis sa 0, linear ba ang scale, pareho ba itong unit? (Mga detalye sa susunod na yunit.)

kontrol

Paano mag-aalaga

pulang bandila

Halaga

Ihambing ang 2-3 puntos sa data

Hindi tugma ang graph-data

integridad

Mayroon bang anumang buwan/kategorya na nawawala?

Ang puwang ay tahimik na nilampasan

sukat

Saan nagsisimula ang Y axis

hindi 0, pinalaki ang pagkakaiba

Kabuuan

Mga pagbabahagi/kabuuan

Hindi ito hawak ng 100%

Pag-iingat: Minsan ay "kukumpleto" ng modelo ang mga buwang nawawala sa data o tahimik na itinatapon ang nawawalang row. Tingnan kung ang bilang ng mga puntos sa chart ay tumutugma sa bilang ng mga row sa data.

tatlong mini case

Case 1 — Paghula ng code beat. Ang isang analyst ay unang nagtanong sa modelo "magkano ang kabuuan?" tanong niya, at natanggap ang sagot na "≈4.2 milyon". Pagkatapos ay ini-print niya ang karagdagan code at pinatakbo ito: ang aktwal na kabuuan ay 3.87 milyon. Ang pandiwang hula ay 8% mali. Mula sa araw na iyon, nakuha niya ang bawat numero mula sa code.

Case 2 — Tahimik na nawawalang linya. Isang koponan ang gumawa ng buwanang tsart; lahat ay mukhang maayos. Ngunit ang Marso ay blangko sa data, at nilaktawan ito ng tsart at iniugnay ang Pebrero hanggang Abril; Mukhang malambot dahil uso. Napansin nila ang bilang ng mga tuldok (dapat ito ay 12 sa halip na 11) at itinama ito; May tumalon sa aktwal na takbo.

Kaso 3 — Reproducibility. Ang isang nagmemerkado ay gumuhit ng mga tsart sa pamamagitan ng kamay bawat buwan (mga 40 minuto). Sa sandaling na-install niya ang code na isinulat ng artificial intelligence; Sa mga sumunod na buwan, tumagal ng 2 minuto upang ilagay ang bagong CSV at patakbuhin ang code. Naka-save ng 38 minuto bawat buwan at wala nang manu-manong pagkopya ng mga error.

Mahinang prompt / Malakas na prompt

mahina:

I-graph ang data ng benta na ito.

Ang modelo ay maaaring magkasya sa isang larawan o magbigay ng random na code; ang data ay hindi aktwal na naproseso, walang mga setting ng katapatan.

malakas:

Ang iyong tungkulin: Python/matplotlib helper. Data: CSV, mga column na "rehiyon" (teksto), "buyume_percentage" (numero, maaaring negatibo). Sumulat ng pahalang na bar chart code: pagbukud-bukurin ayon sa halaga, i-highlight ang pinakamataas na rehiyon, idagdag ang y=0 na linya ng sanggunian (mga negatibo sa display), maglagay ng mga label ng porsyento sa mga dulo ng bar. Magbigay ng code na maipapatupad, basahin mula sa CSV, pagkakabit ng numero. Maglagay ng placeholder ng pamagat ng aksyon para sa pamagat.

Ang pangalawa ay kinabibilangan ng istraktura ng data, mga panuntunan sa katapatan, at ang prinsipyong "basahin mula sa code, huwag itong gawing up"; Ang output ay parehong tumpak at nae-edit.

Pagpili ng tool: kailan spreadsheet, kailan code?

Hindi mo kailangang magsulat ng code para sa bawat chart. Para sa isang maliit, one-off, simpleng chart, ang isang spreadsheet (Excel, Google Spreadsheets) ay kadalasang sapat at mabilis. Panalo ang code kapag: regular na ina-update ang data (nire-refresh ang parehong chart bawat buwan), kumplikado o marami ang chart (gaya ng maliliit na maramihang chart), kailangan ng ganap na kontrol (mga setting ng integridad, custom na pag-label), o mahalaga na nauulit ang resulta. Maaari mo ring itanong kung alin ang angkop para sa artificial intelligence.

Katayuan

angkop na sasakyan

Bakit

Isang beses na simpleng bar

spreadsheet

Mabilis, walang kinakailangang code

Ina-update ang ulat bawat buwan

Code (Python)

Sumulat ng isang beses, tumakbo muli

Interactive/filter na dashboard

Code (plotly) / tool ng BI

kinakailangan ang pakikipag-ugnayan

Maraming maliliit na graphics

Code

Ang pagguhit gamit ang kamay ay nakakapagod at hindi tumpak

Ang iyong tungkulin: consultant sa visualization ng data. Kailangan kong gawin ang sumusunod na graph:[recipe]. [Gaano kadalas] ina-update ang data, [ilang] iba't ibang chart ang kinakailangan. Mas may saysay ba ang isang spreadsheet o Python code? Pangatwiranan ang iyong desisyon; Aling library ang inirerekomenda mo para sa code?

Hint: "Gagawin ko ba ulit ito bawat buwan?" Kung ang sagot sa tanong ay "oo", ang pamumuhunan sa code ay halos palaging nagbabayad para sa sarili nito. Kung ito ay isang one-off, isang spreadsheet ay sapat na.

Mga karaniwang pagkakamali

  • Humihingi ng "larawan" ng chart: Kapag humingi ka ng larawan sa halip na code, hindi talaga pinoproseso ang data.
  • Pagtitiwala sa code nang hindi ipinapatupad ito: Paglalagay ng output sa slide nang hindi nakikita ito.
  • Hindi nagbibigay ng pagpapatunay ng halaga: Hindi paghahambing ng mga punto sa chart sa data.
  • Hindi nakikita ang nawawala/nilaktawan na linya: Hindi sinusuri ang bilang ng mga tuldok.
  • Pagtrato dito na parang isang beses na trabaho: Hindi pinapanatili ang code at nagsisimula sa simula bawat buwan.

Sa buod

Tanungin ang artificial intelligence para sa code na gumagawa ng graph, hindi ang larawan ng graph, at ikaw mismo ang magpatakbo ng code na iyon; dahil pinoproseso ng code ang data kung ano ito at nagbibigay ng mga deterministiko at nauulit na mga resulta. Ilarawan ang istruktura ng data, ilagay ang mga panuntunan sa integridad (mula sa axis 0, label, source) sa kahilingan, patunayan ang output gamit ang value-integrity-scale-sum hash. Tinatalo ng code ang pandiwang hula sa bawat oras; Ngunit ang huling kontrol ay sa iyo.

Gawain ng aplikasyon

Para sa isang data file mo: (1) Ilarawan ang istruktura ng data sa AI at mag-print ng graph generation code (na may mga panuntunan sa katapatan). (2) Patakbuhin ang code at manu-manong ihambing ang 2-3 mga halaga sa tsart sa data. (3) Sa parehong code, pag-uri-uriin ang mga bar ayon sa halaga at magdagdag ng isang kulay ng highlight. (4) I-save ang code para magamit muli sa susunod na buwan.

checklist

  • [ ] Gusto at pinatakbo ko ang code na gumagawa ng chart, hindi ang larawan nito.
  • [ ] Binabasa ng code ang data mula sa totoong file, hindi ito bumubuo ng mga numero.
  • [ ] Inihambing ko ang 2-3 mga halaga sa tsart sa data.
  • [ ] Ang bilang ng mga puntos/kategorya ay katugma sa mga hilera sa data.
  • [ ] Ang Y axis at sukat ay tapat; Walang axis interrupt.
  • [ ] Nai-save ko ang code para magamit muli.