Ünite 6 / 11

Yapay Zeka ile Grafik Üretmek: Koddan Görsele, Doğrulamayla

Kazanimlar:

  • Grafiğin resmini değil onu üreten kodu yapay zekaya yazdırıp kendisi çalıştırarak deterministik ve tekrarlanabilir sonuç elde edebilme
  • Grafik çıktısını değer, bütünlük, ölçek ve toplam sağlamalarıyla veriye karşı doğrulayabilme
  • Dürüstlük kurallarını (eksen 0'dan, doğrudan etiket, kaynak notu) isteme koyup sözlü tahmin yerine koda güvenebilme

Doğru grafik türünü seçtiniz; şimdi onu üretmek var. Burada yapay zekanın en güvenilir kullanımı, grafiği "çizmesini" istemek değil, grafiği üreten kodu yazdırıp o kodu kendinizin çalıştırmasıdır. Neden? Çünkü büyük dil modeli metin üreticisidir; bir sayıyı sözle "tahmin" edebilir ama kod, veriyi olduğu gibi işleyip deterministik (aynı girdiye hep aynı çıktı veren) bir sonuç üretir. Bu ünitede yapay zekaya grafik kodu (çoğunlukla Python) yazdırmayı ve çıktıyı doğrulamayı öğreneceğiz.

Neden kod, neden çalıştırmak?

Bir dil modeline "satış toplamı ne?" diye sorarsanız, veriyi gerçekten toplamaz; olası bir sayı üretir. Ama ona toplama kodunu yazdırıp siz çalıştırırsanız, sonuç gerçek veriden çıkar. Aynısı grafik için geçerli: modelin ürettiği kod, sizin makinenizde sizin verinizle çalışır. Kod ayrıca tekrarlanabilirdir: veri güncellendiğinde kodu tekrar çalıştırıp grafiği yenilersiniz.

Yaygın araçlar: Python dili ile matplotlib ve seaborn (statik grafik), plotly (etkileşimli grafik); ayrıca elektronik tablo programları ve BI (iş zekâsı) araçları. Bu ünitede örnekleri Python/matplotlib üzerinden vereceğiz çünkü en yaygını budur; ilke her araçta aynıdır.

İpucu: "Bana grafiğin resmini ver" yerine "grafiği üreten kodu ver, ben çalıştırayım" deyin. Böylece hem sonuç gerçek veriden çıkar hem de istediğiniz kadar ayar yaparsınız.

Adım adım: koddan grafiğe

  1. Grafik türünü ve mesajı belirleyin (önceki ünite).
  2. Veri yapısını modele tarif edin (sütun adları, türleri; hassas veriyi değil).
  3. Kodu ürettirin, dürüstlük kurallarını isteme koyun (eksen 0'dan, etiket, kaynak notu).
  4. Kodu kendiniz çalıştırın ve grafiğe bakın.
  5. Sağlama yapın: Grafikteki değer, verideki değerle aynı mı? Toplam/pay tutuyor mu?
  6. İyileştirin: Başlığı eylem başlığına çevirin, gereksizi silin, vurgu rengini ekleyin.

Rolün: Python veri görselleştirme yardımcısı.Elimde bir CSV var: sütunlar "ay" (YYYY-MM), "kanal" (metin),"gelir" (sayı). matplotlib ile bir ÇİZGİ grafik kodu yaz:- Her kanal ayrı çizgi, x=ay, y=gelir.- Y ekseni 0'dan başlasın (kesme yapma).- Çizgilerin ucuna doğrudan etiket koy, ayrı lejant şart değil.- Başlığa eylem başlığı için bir yer tutucu koy.- Sağ alta küçük "Kaynak: [ ... ]" notu ekle.Kodu tam ve çalıştırılabilir ver, örnek okuma satırını da yaz.Sayı UYDURMA; veriyi CSV'den oku.

Var olan bir grafiği düzeltmek için:

Şu matplotlib kodunu düzelt: (1) çubukları değere göre büyüktenküçüğe sırala, (2) sadece en yüksek çubuğu turuncu, gerisini griyap, (3) y ekseni 0'dan başlasın, (4) ondalıkları binlik ayraçlabiçimle. Kodu bütün olarak geri ver. Kod: [ ... ]

Etkileşimli grafik (dashboard için) için:

Aynı veriyle plotly kullanarak etkileşimli bir çizgi grafik koduyaz: fareyle üstüne gelince (hover) ay ve gelir görünsün,kanallar filtrelenebilsin. Eksen 0'dan başlasın. Kodu tam ver.

Doğrulama: grafik "güzel" değil, "doğru" mu?

Grafik çıktı verdi diye iş bitmez. Üç sağlama:

  • Değer sağlaması: Rastgele 2-3 noktayı elle/tabloyla kontrol edin. Grafikteki en yüksek çubuk gerçekten en yüksek mi?
  • Toplam/pay sağlaması: Parça-bütün grafiğinde paylar %100'e tamamlanıyor mu?
  • Görsel dürüstlük: Eksen 0'dan mı başlıyor, ölçek doğrusal mı, aynı birim mi? (Detayı sonraki ünitede.)

Kontrol

Nasıl bakılır

Kırmızı bayrak

Değer

2-3 noktayı veriyle karşılaştır

Grafik-veri uyuşmuyor

Bütünlük

Eksik ay/kategori var mı

Boşluk sessizce atlanmış

Ölçek

Y ekseni nereden başlıyor

0 değil, fark abartılıyor

Toplam

Paylar/toplamlar

%100'ü tutmuyor

Dikkat: Model bazen veride olmayan ayları "tamamlar" ya da eksik satırı sessizce atar. Grafikteki nokta sayısı, verideki satır sayısıyla uyumlu mu diye bakın.

Üç mini vaka

Vaka 1 — Kod, tahmini yendi. Bir analist önce modele "toplam ne kadar?" diye sordu, "≈4,2 milyon" cevabını aldı. Sonra toplama kodunu yazdırıp çalıştırdı: gerçek toplam 3,87 milyondu. Sözlü tahmin %8 yanlıştı. O günden sonra her sayıyı koddan aldı.

Vaka 2 — Sessiz eksik satır. Bir ekip, aylık grafiği ürettirdi; her şey düzgün göründü. Ama Mart ayı veride boştu ve grafik onu atlayıp Şubat'ı Nisan'a bağlamıştı; trend olduğundan yumuşak göründü. Nokta sayısını (11 yerine 12 olmalıydı) fark edip düzelttiler; gerçek trendde bir sıçrama vardı.

Vaka 3 — Yeniden üretilebilirlik. Bir pazarlamacı, her ay elle grafik çiziyordu (yaklaşık 40 dakika). Yapay zekanın yazdığı kodu bir kez kurdu; sonraki aylarda yeni CSV'yi koyup kodu çalıştırması 2 dakika sürdü. Aylık 38 dakika kazandı ve elle kopyalama hataları bitti.

Zayıf prompt / Güçlü prompt

Zayıf:

Bu satış verisinin grafiğini çiz.

Model bir resim uydurabilir veya rastgele kod verir; veri gerçekten işlenmez, dürüstlük ayarları yoktur.

Güçlü:

Rolün: Python/matplotlib yardımcısı. Veri: CSV, sütunlar"bolge" (metin), "buyume_yuzde" (sayı, negatif olabilir).Yatay çubuk grafik kodu yaz: değere göre sırala, en yüksekbölgeyi vurgula, y=0 referans çizgisi ekle (negatifler görünsün),çubuk uçlarına yüzde etiketi koy. Kodu çalıştırılabilir ver,CSV'den oku, sayı uydurma. Başlık için eylem başlığı yer tutucu koy.

İkincisi veri yapısını, dürüstlük kurallarını ve "koddan oku, uydurma" ilkesini içerir; çıktı hem doğru hem düzenlenebilir olur.

Araç seçimi: ne zaman elektronik tablo, ne zaman kod?

Her grafik için kod yazmak zorunda değilsiniz. Küçük, tek seferlik ve basit bir grafik için elektronik tablo (Excel, Google E-Tablolar) çoğu zaman yeterli ve hızlıdır. Kod ise şu durumlarda kazandırır: veri düzenli olarak güncelleniyor (her ay aynı grafiği yenilemek), grafik karmaşık ya da çok sayıda (küçük çoklu grafik gibi), tam kontrol gerekiyor (dürüstlük ayarları, özel etiket), ya da sonucun tekrarlanabilir olması önemli. Yapay zekaya hangisinin uygun olduğunu da sorabilirsiniz.

Durum

Uygun araç

Neden

Tek seferlik basit çubuk

Elektronik tablo

Hızlı, kod gerekmez

Her ay yenilenen rapor

Kod (Python)

Bir kez yaz, tekrar çalıştır

Etkileşimli/filtreli pano

Kod (plotly) / BI aracı

Etkileşim gerekir

Çok sayıda küçük grafik

Kod

Elle çizmek yorucu ve hatalı

Rolün: veri görselleştirme danışmanı. Şu grafiği üretmem gerek:[tarif]. Veri [ne sıklıkla] güncelleniyor, [kaç] farklı grafikgerekiyor. Elektronik tablo mu yoksa Python kodu mu daha mantıklı?Kararını gerekçesiyle söyle; kod önerirsen hangi kütüphane?

İpucu: "Bunu her ay tekrar yapacak mıyım?" sorusunun cevabı "evet" ise kod yatırımı neredeyse her zaman kendini öder. Tek seferlikse elektronik tablo yeter.

Sık yapılan hatalar

  • Grafiğin "resmini" istemek: Kod yerine görsel isteyince veri gerçekten işlenmez.
  • Kodu çalıştırmadan güvenmek: Çıktıyı gözle doğrulamadan slayta koymak.
  • Değer sağlaması yapmamak: Grafikteki noktaları veriyle karşılaştırmamak.
  • Eksik/atlanan satırı görmemek: Nokta sayısını kontrol etmemek.
  • Tek seferlik iş gibi davranmak: Kodu saklamayıp her ay sıfırdan başlamak.

Özetle

Yapay zekadan grafiğin resmini değil, grafiği üreten kodu isteyin ve o kodu kendiniz çalıştırın; çünkü kod veriyi olduğu gibi işleyip deterministik ve tekrarlanabilir sonuç verir. Veri yapısını tarif edin, dürüstlük kurallarını (eksen 0'dan, etiket, kaynak) isteme koyun, çıktıyı değer-bütünlük-ölçek-toplam sağlamalarıyla doğrulayın. Kod, sözlü tahmini her zaman yener; ama son kontrol sizindir.

Uygulama görevi

Bir veri dosyanız için: (1) Yapay zekaya veri yapısını tarif edip bir grafik üretme kodu yazdırın (dürüstlük kurallarıyla). (2) Kodu çalıştırın ve grafikteki 2-3 değeri veriyle elle karşılaştırın. (3) Aynı kodda çubukları değere göre sıralatıp tek vurgu rengi ekletin. (4) Kodu, gelecek ay tekrar kullanmak üzere kaydedin.

Kontrol listesi

  • [ ] Grafiğin resmini değil, üreten kodu istedim ve çalıştırdım.
  • [ ] Kod veriyi gerçek dosyadan okuyor, sayı uydurmuyor.
  • [ ] Grafikteki 2-3 değeri veriyle karşılaştırdım.
  • [ ] Nokta/kategori sayısı verideki satırlarla uyumlu.
  • [ ] Y ekseni ve ölçek dürüst; eksen kesmesi yok.
  • [ ] Kodu tekrar kullanmak için sakladım.