Kitengo 6 / 11

Inazalisha Michoro kwa Akili Bandia: Kutoka Msimbo hadi Kuonekana, kwa Uthibitishaji

Faida:

  • Uwezo wa kupata matokeo ya kuamua na yanayoweza kurudiwa kwa kuchapisha msimbo ambao hutoa grafu, sio picha ya grafu, kwa akili ya bandia na kuiendesha yenyewe.
  • Uwezo wa kuhalalisha matokeo ya chati dhidi ya data yenye thamani, uadilifu, mizani na jumla ya ukaguzi
  • Uwezo wa kuweka sheria za uaminifu (kutoka kwa mhimili 0, lebo ya moja kwa moja, noti ya chanzo) na kutegemea nambari badala ya kubahatisha kwa maneno.

Umechagua aina sahihi ya chati; Sasa ni wakati wa kuizalisha. Matumizi ya kuaminika zaidi ya akili ya bandia hapa sio kuiuliza "kuchora" grafu, lakini kuchapisha msimbo ambao hutoa grafu na kukimbia msimbo huo mwenyewe. Kutoka wapi? Kwa sababu mtindo wa lugha kubwa ni jenereta ya maandishi; inaweza "kukisia" nambari kwa maneno, lakini nambari huchakata data kama ilivyo na kutoa matokeo ya kuamua (kila wakati ikitoa matokeo sawa kwa pembejeo sawa). Katika kitengo hiki, tutajifunza jinsi ya kuchapisha msimbo wa picha (hasa Python) hadi AI na kuthibitisha matokeo.

Kwa nini kanuni, kwa nini kukimbia?

Uliza modeli ya lugha "jumla ya mauzo ni nini?" Ukiuliza, haikusanyi data; Inazalisha nambari inayowezekana. Lakini ukichapisha msimbo wa kujumlisha na kuiendesha, matokeo hutoka kwa data halisi. Vile vile huenda kwa chati: msimbo unaotolewa na mtindo hutumika kwenye data yako, kwenye mashine yako. Msimbo pia unaweza kurudiwa: data inaposasishwa, unaendesha msimbo tena na uonyeshe chati upya.

Zana za kawaida: matplotlib na seaborn (njama tuli), njama (njama inayoingiliana) na lugha ya Python; pia programu za lahajedwali na zana za BI (akili ya biashara). Katika kitengo hiki, tutatoa mifano kwa kutumia Python/matplotlib kwa sababu ndiyo inayojulikana zaidi; Kanuni ni sawa katika kila gari.

Kidokezo: Badala ya "nipe picha ya chati," sema "nipe msimbo unaotoa chati na nitaiendesha." Kwa njia hii, matokeo hutoka kwa data halisi na unaweza kufanya marekebisho mengi unavyotaka.

Hatua kwa hatua: kutoka kwa nambari hadi michoro

  1. Amua aina ya picha na ujumbe (kitengo kilichopita).
  2. Eleza muundo wa data kwa modeli (majina ya safu wima, aina; si data nyeti).
  3. Jenga msimbo, weka sheria za uaminifu katika haraka (kutoka kwa mhimili 0, tag, dokezo la chanzo).
  4. Endesha msimbo mwenyewe na uangalie grafu.
  5. Angalia: Je, thamani katika chati ni sawa na thamani katika data? Je, jumla/hisa inashikilia?
  6. Boresha: Badilisha kichwa kiwe kichwa cha kitendo, futa isiyo ya lazima, ongeza rangi ya kuangazia.

Jukumu lako: Msaidizi wa taswira ya data ya Python. Nina CSV: safu wima "mwezi" (YYYY-MM), "chaneli" (maandishi), "mapato" (nambari). Andika msimbo wa grafu MSTARI na matplotlib:- Kila chaneli ni mstari tofauti, x=mwezi, y=njoo.- Acha mhimili y uanze kutoka 0 (usikate).- Weka lebo moja kwa moja mwishoni mwa mistari, hadithi tofauti haihitajiki.- Weka kishikilia nafasi kwa kichwa cha kitendo katika kichwa.- Ongeza kidokezo kidogo cha "Chanzo" chini ya ... Fanya nambari iwe kamili na itekelezwe, pia andika mstari wa kusoma wa mfano. KUFANYA NAMBA; soma data kutoka kwa CSV.

Ili kurekebisha chati iliyopo:

Rekebisha msimbo huu wa matplotlib: (1) panga pau kulingana na thamani kutoka kubwa hadi ndogo zaidi, (2) tengeneza upau wa juu zaidi wa chungwa na ule uliobaki uwe wa kijivu, (3) fanya mhimili wa y uanze kwa 0, (4) umbizo la desimali kwa maelfu ya kitenganishi. Rudisha msimbo wote. Kanuni: [...]

Kwa chati shirikishi (kwa dashibodi):

Andika msimbo unaoingiliana wa chati kwa kutumia Plotly na data sawa: kuelea juu ya kipanya kutaonyesha mwezi na mapato, na vituo vinaweza kuchujwa. Acha mhimili uanze kutoka 0. Toa msimbo kamili.

Uthibitishaji: je, chati ni "sahihi", si "nzuri"?

Kazi haijaisha kwa sababu tu michoro ni pato. Malipo matatu ya hundi:

  • Kutoa thamani: Angalia pointi 2-3 nasibu kwa mkono/meza. Je, upau wa juu zaidi kwenye chati ndio ulio juu zaidi?
  • Uthibitishaji wa jumla/shiriki: Je, hisa zimekamilika hadi 100% katika chati ya sehemu nzima?
  • Uaminifu unaoonekana: Je, mhimili huanzia 0, je kiwango ni cha mstari, ni kitengo sawa? (Maelezo katika kitengo kinachofuata.)

kudhibiti

Jinsi ya kujali

bendera nyekundu

Thamani

Linganisha pointi 2-3 na data

Grafu data hailingani

uadilifu

Je, kuna miezi/kategoria zozote ambazo hazipo?

Pengo lilirukwa kimya kimya

mizani

Mhimili wa Y unaanzia wapi

si 0, tofauti ni chumvi

Jumla

Hisa/jumla

Haina 100%

Tahadhari: Muundo wakati mwingine "hukamilisha" miezi inayokosekana kwenye data au hutupa kimya safu mlalo inayokosekana. Angalia kama idadi ya pointi kwenye chati inalingana na idadi ya safu mlalo katika data.

kesi tatu ndogo

Kesi ya 1 - Utabiri wa mpigo wa msimbo. Mchambuzi kwanza anauliza mfano "jumla ni kiasi gani?" aliuliza, na kupokea jibu "≈ milioni 4.2". Kisha akachapisha msimbo wa nyongeza na kuiendesha: jumla halisi ilikuwa milioni 3.87. Utabiri wa maneno haukuwa sahihi kwa 8%. Kuanzia siku hiyo, alipata kila nambari kutoka kwa nambari.

Kesi ya 2 - Mstari unaokosekana kimya. Timu moja ilikuwa na chati ya kila mwezi iliyotolewa; kila kitu kilionekana sawa. Lakini Machi ilikuwa tupu katika data, na chati iliruka na kuunganishwa Februari hadi Aprili; Ilionekana laini kwa sababu ilikuwa kwenye mtindo. Waliona idadi ya nukta (ilipaswa kuwa 12 badala ya 11) na wakaisahihisha; Kulikuwa na kuruka katika mwenendo halisi.

Kesi ya 3 - Reproducibility. Mchuuzi alikuwa akichora chati kwa mkono kila mwezi (kama dakika 40). Mara baada ya kuweka kanuni iliyoandikwa na akili ya bandia; Katika miezi iliyofuata ilichukua dakika 2 kuweka CSV mpya na kuendesha msimbo. Imehifadhiwa dakika 38 kwa mwezi na hakuna tena hitilafu za kunakili kwa mikono.

Mwongozo dhaifu / Mwongozo thabiti

Dhaifu:

Grafu data hii ya mauzo.

Mfano unaweza kutoshea picha au kutoa msimbo wa nasibu; data haijachakatwa, hakuna mipangilio ya uaminifu.

Nguvu:

Jukumu lako: Msaidizi wa Python/matplotlib. Data: CSV, safu wima "eneo" (maandishi), "buyume_percentage" (nambari, inaweza kuwa hasi). Andika msimbo wa chati ya upau mlalo: panga kwa thamani, onyesha eneo la juu zaidi, ongeza y=0 mstari wa marejeleo (onyesha hasi), weka lebo za asilimia kwenye ncha za pau. Toa nambari inayoweza kutekelezeka, iliyosomwa kutoka kwa CSV, kuweka nambari. Weka kishikilia nafasi cha kichwa cha kitendo kwa mada.

Ya pili inajumuisha muundo wa data, sheria za uaminifu, na kanuni ya "soma kutoka kwa nambari, usiifanye"; Matokeo ni sahihi na yanaweza kuhaririwa.

Uteuzi wa zana: lahajedwali lini, msimbo wa lini?

Sio lazima uandike msimbo kwa kila chati. Kwa chati ndogo, ya mara moja, rahisi, lahajedwali (Excel, Lahajedwali za Google) mara nyingi inatosha na kwa haraka. Msimbo hushinda wakati: data inasasishwa mara kwa mara (kuonyesha chati sawa kila mwezi), chati ni changamano au nyingi (kama vile chati ndogo nyingi), udhibiti kamili unahitajika (mipangilio ya uadilifu, uwekaji lebo maalum), au ni muhimu kwamba matokeo yanaweza kurudiwa. Unaweza pia kuuliza ni ipi inayofaa kwa akili ya bandia.

Hali

gari linalofaa

Kwa nini

Baa rahisi ya wakati mmoja

lahajedwali

Haraka, hakuna msimbo unaohitajika

Ripoti inasasishwa kila mwezi

Msimbo (Python)

Andika mara moja, kimbia tena

Dashibodi inayoingiliana/chujio

Nambari (njama) / zana ya BI

mwingiliano unaohitajika

Kura ya graphics ndogo

Kanuni

Kuchora kwa mkono kunachosha na sio sahihi

Jukumu lako: mshauri wa taswira ya data. Nahitaji kutoa grafu ifuatayo:[mapishi]. [Ni mara ngapi] data husasishwa, [ni] chati tofauti zinahitajika. Je, lahajedwali au nambari ya Python ina maana zaidi? Thibitisha uamuzi wako; Unapendekeza maktaba gani kwa msimbo?

Kidokezo: "Je, nitafanya hivi tena kila mwezi?" Ikiwa jibu la swali ni "ndiyo", uwekezaji wa kificho karibu daima hulipa yenyewe. Ikiwa ni toleo moja, lahajedwali itatosha.

Makosa ya kawaida

  • Kuuliza "picha" ya chati: Unapouliza picha badala ya msimbo, data haijachakatwa.
  • Kuamini msimbo bila kuitekeleza: Kuweka pato kwenye slaidi bila kuithibitisha kwa macho.
  • Haitoi uthibitishaji wa thamani: Sio kulinganisha pointi kwenye chati na data.
  • Kutoona mstari uliokosekana/ulioruka: Sio kuangalia idadi ya nukta.
  • Kuichukulia kama kazi ya mara moja: Kutoweka msimbo na kuanzia mwanzo kila mwezi.

Kwa muhtasari

Uliza akili ya bandia kwa msimbo unaotoa grafu, sio picha ya grafu, na uendeshe msimbo huo wewe mwenyewe; kwa sababu msimbo huchakata data kama ilivyo na hutoa matokeo ya kuamua na yanayoweza kurudiwa. Eleza muundo wa data, weka sheria za uadilifu (kutoka kwa mhimili 0, lebo, chanzo) hadi ombi, thibitisha matokeo kwa heshi za jumla za uadilifu-kiasi. Msimbo hushinda utabiri wa maneno kila wakati; Lakini udhibiti wa mwisho ni wako.

Jukumu la maombi

Kwa faili yako ya data: (1) Eleza muundo wa data kwa AI na uchapishe msimbo wa kuzalisha grafu (na sheria za uaminifu). (2) Tekeleza msimbo na ulinganishe mwenyewe thamani 2-3 kwenye chati na data. (3) Katika msimbo sawa, panga pau kwa thamani na uongeze rangi moja ya kuangazia. (4) Hifadhi msimbo ili kutumia tena mwezi ujao.

orodha ya ukaguzi

  • [ ] Nilitaka na kuendesha msimbo unaotoa chati, si picha yake.
  • [ ] Nambari inasoma data kutoka kwa faili halisi, haifanyi nambari.
  • [ ] Nililinganisha thamani 2-3 kwenye chati na data.
  • [ ] Idadi ya pointi/aina inaoana na safu mlalo katika data.
  • [ ] Mhimili wa Y na mizani ni mwaminifu; Hakuna kukatiza kwa mhimili.
  • [ ] Nilihifadhi msimbo ili kutumia tena.