Ata Aöf Nesne Tabanlı Programlama-II 2024-2025 Final Soruları
https://lolonolo.com/2026/04/30/ata-aof-nesne-tabanli-programlama-ii-2024-2025-final-sorulari/
https://lolonolo.com
Show More Show Less View Video Transcript
0:00
Merhaba. Bu açıklayıcı rehberimize hoş
0:02
geldiniz. Bakın bugün sadece sıkıcı
0:05
sınav notlarının üzerinden geçmeyeceğiz.
0:07
Hayır, aslında modern veri ekosisteminde
0:09
harika bir yolculuğa çıkıyoruz. Veriyi
0:12
ilk olarak o ham haliyle nasıl alıyoruz?
0:14
Sonra onu makine öğrenmesiyle nasıl
0:16
akıllı, tıkır tıkır çalışan bir modele
0:19
dönüştürüyoruz. İşte bugün kuracağımız
0:21
bu mantıksal veri hattı yani data
0:23
pipeline üzerinden o büyük resmi
0:25
göreceğiz. Yani o karmaşık gibi görünen
0:28
konuların aslında devasa ve çok mantıklı
0:30
bir yapbozun parçaları olduğunu fark
0:32
edeceksiniz. Hadi hiç vakit kaybetmeden
0:34
başlayalım. Bugünkü yol haritamız tam
0:37
olarak şöyle. 1. Temel Python ve veri
0:40
tabanı. 2. Mat Bloodli Lib ile veri
0:43
görselleştirme. 3. Pandas ve Nampoy
0:45
kütüphaneleri. 4. Nesne yönelimli mimari
0:49
yani OOP. Ve son olarak 5. bölümümüz
0:52
makine öğrenmesi ve NLP. Hemen ilk
0:55
durağımızla başlayalım. Bölüm 1. Temel
0:58
Python ve veri tabanı. Şimdi veriyi
1:01
çıkarma ve kontrol etme aşamasındayız.
1:03
Python'ın o temel kalıplaşmış
1:05
kurallarına bir bakalım. Neden herkes
1:07
Python'ı kullanıyor biliyor musunuz?
1:09
Çünkü çapraz platform özelliği var. Yani
1:12
Windows, MacOS, Linux. İnanın hiç fark
1:15
etmez. Yazdığınız kod her yerde çalışır.
1:18
Peki ya sürekli tekrarlanması gereken
1:20
işlemler? Eğer bir kod bloğunu belirli
1:23
bir koşul bozulana kadar tekrar tekrar
1:25
çalıştırmak istiyorsanız en yakın
1:27
dostunuz while döngüsüdür. Diyelim ki
1:29
bir fonksiyondan dışarıya hiç değişmeyen
1:32
sabit bir değer fırlatmanız gerekti.
1:34
Return 2 gibi bir ifade tam olarak bu
1:36
işi yapar ve tabii ki o elde ettiğimiz
1:38
verileri fiziksel bir ortamda saklamak
1:40
ya da mevcut bir veri tabanına bağlanmak
1:42
için vazgeçilmez bir komutumuz var.
1:44
SQLite 3.concnect.
1:46
Peki dışarıdan bir dosya okumamız
1:49
gerektiğinde ne yapacağız? Aslında
1:51
adımlar çok mantıklı ve hiç değişmiyor.
1:53
İlk olarak open fonksiyonunu
1:55
kullanıyoruz. Yani dosyayı açıyoruz.
1:57
Sonraki adımsa tam bir sınav
1:59
kurtarıcısı. İkinci adımda kullandığımız
2:01
o R modu var ya o aslında İngilizce read
2:04
yani okumak kelimesinin baş harfinden
2:06
geliyor. Bakın bunu ezberlemenize bile
2:08
gerek yok. R harfini gördüğünüz an
2:10
aklınıza read gelsin. Okuma modu
2:13
olduğunu hemen hatırlarsınız ve dosyayı
2:15
başarıyla okursunuz. Bu kadar basit.
2:17
Geçiyoruz 2inci bölüme. Bölüm 2. Matilot
2:21
ile veri görselleştirme.
2:23
Tamam, verimizi aldık. Veri tabanına da
2:25
bağlandık. İyi de sadece rakamlara
2:27
bakarak bir şey anlayamayız ki değil mi?
2:29
Bunu görselleştirmemiz şart. Mat plot
2:32
lip kütüphanesi grafiklerde bazı özel
2:34
işaretleyiciler kullanır. Tahmin
2:36
edersiniz ki o daireyi, virgül pikseli
2:39
noktada bildiğimiz noktayı temsil
2:41
ediyor. P ise Pentagon yani beşgen. Ama
2:43
durun burada çok ama çok dikkat etmeniz
2:45
gereken devasa bir tuzak var. H harfi.
2:48
Sınavda bunun üçgen olduğunu düşünmenizi
2:50
isteyebilirler. Sakın bu tuzağa
2:52
düşmeyin. Oradaki h İngilizce heksagonun
2:54
yani altıgenin baş harfi. İnanın danana.
2:57
Sadece bu küçük ayrım bile size doğrudan
2:59
puan kazandıracak. Şimdi verilerin
3:02
bütünü olan oranını göstermek en sık
3:04
yaptığımız şeylerden biri. Sınav
3:06
müfredatınız genellikle oransal
3:08
analizler için geleneksel pasta yani pay
3:10
yöntemine odaklansa da dürüst olalım
3:12
bugün ekranlarımızda şık bir donut
3:14
grafiği çok daha modern duruyor. Ama
3:16
işin özü şu eğer elinizde oransal bir
3:19
veri varsa ve bir parçanın bütüne
3:21
oranını gösterecekseniz her zaman bu
3:24
tarz dairesel dilimleme metotlarını
3:26
kullanırsınız. Tabii görselleştirme
3:28
yaparken sadelik de gerçekten her
3:31
şeydir. Bazen grafiğinizin etrafındaki o
3:33
kalın çerçeve çok göz yorar, asıl
3:36
veriden rol çalar. İşte böyle durumlarda
3:39
box komutu hızır gibi yetişiyor. Bu
3:41
komut sayesinde çizim alanının etrafını
3:43
saran o dış çerçeveyi yani eksen
3:46
kutusunu tek bir tıkla anında kapatıp
3:48
açabilirsiniz. inanılmaz pratik ve
3:51
grafiğinize saniyeler içinde tertemiz
3:53
bir görünüm kazandırır. Veri hattımızda
3:55
sıradaki aşama bölüm 3. Pandas ve Nampay
3:59
kütüphaneleri. Görselleştirmeyi de
4:01
hallettiğimize göre artık ağır
4:04
matematiksel işlemlerin yapıldığı o
4:06
mutfağa giriyoruz. Pendas'ın meşhur data
4:08
frame'i ilk duyduğunuzda kulağı biraz
4:10
korkutucu gelebilir ama inanın hiç öyle
4:13
değil. Bunu yıllardır kullandığınız o
4:15
klasik Excel tabloları gibi düşünün. İki
4:17
boyutlu bir yapı. verileriniz var.
4:19
Yukarıdan aşağıya sütunlar, soldan sağa
4:22
satırlar. Bütün hikaye bu. Peki ya bir
4:24
sütundaki verinin tipini değiştirmeniz
4:26
gerekirse diyelim ki metin olarak
4:28
kaydedilmiş bir sayıyı gerçekten
4:30
hesaplama yapabileceğiniz bir tam sayıya
4:32
çevireceksiniz. O zaman hemen as type
4:35
komutunu çağırıyorsunuz. Veri tipi
4:37
dönüştürmenin kalbi işte tam olarak bu
4:39
komuttur. Burada sınavda kesinlikle
4:42
karşınıza çıkacak çok ince bir detaya
4:44
odaklanalım. Tek boyutlu diziler olan
4:46
Pandas serilerini yaratırken
4:48
kullandığımız bazı ana parametreler
4:50
vardır. Neler bunlar? Data, dt type,
4:53
name ve index. Fakat buraya çok dikkat
4:56
edin. Seçenekler arasına tuzak olarak
4:59
true diye bir şey koyabilirler. Şunu
5:01
aklınıza iyice kazıyın. True sadece
5:03
mantıksal bir değerdir. Doğru ya da
5:06
yanlış demektir. Kesinlikle ama
5:08
kesinlikle PD serisi için geçerli bir
5:10
parametre olamaz. O şıkkı gördüğünüz an
5:13
eleyin. İşin uzamsal ve çok boyutlu
5:16
matematik kısmına geldiğimizde ise
5:18
sahneye pay çıkıyor. Burada iki temel
5:21
komutu birbirinden ayırmak hayat
5:23
kurtarır. Birincisi roll komutu adı
5:25
üstünde. İngilizce yuvarlamak demek.
5:28
dizi elemanlarını dairesel olarak
5:30
kaydırır. İkincisi ise take fonksiyonu.
5:33
Bu çok daha keskin bir işlemdir. Çok
5:36
boyutlu koca bir diziyi tamamen
5:37
düzleştirdiğinizi hayal edin. Sonra
5:40
aralarından bir cımbızla alır gibi
5:42
mesela 1inci indeksteki 6'yı veya 5.
5:45
indeksteki 4'ü doğrudan çekip
5:47
çıkarıyorsunuz. Yani kısaca roll
5:49
yuvarlar. Takes hedeflenen indeksi
5:52
cımbızla çeker alır. Devam ediyoruz.
5:55
Bölüm 4. Nesne yönelimli mimari. veya
5:58
yaygın adıyla OOP. Tamam, buraya kadar
6:02
veriyi aldık, çizdik, şekilden şekle
6:04
soktuk ama bu kadar karmaşık bir veri
6:07
hattı büyüdükçe her şeyin birbirine
6:09
girmemesi için çok sağlam bir mimariye
6:12
ihtiyacımız var. Güvenlik bu işin
6:14
temeli. Peki sistemde kimin neye
6:17
erişebileceğini nasıl kontrol ediyoruz?
6:19
Çok basit bir ipucu vereyim. Eğer bir
6:21
değişkenin en başında tek bir alt çizgi
6:24
görüyorsanız sistem adeta size
6:26
bağırıyordur. Dur, bu değişken
6:28
korumalıdır. Yani semi private bir
6:30
yapıdır. Buna dışarıdan öyle kafanıza
6:32
göre dokunamazsınız. Yalnızca o sınıfın
6:35
kendisi veya alt sınıflara erişebilir. O
6:37
tek alt çizgi aslında çok net bir
6:39
güvenlik şerididir. Şimdi yine o meşhur
6:43
sınav ilüzyonlarından birini patlatalım.
6:45
Python'da sınıflar oluşturduğunuzda arka
6:48
planda hash veya size of gibi gerçekten
6:51
çalışan sihirli metotlar otomatik olarak
6:53
devreye girer. Bunlar gerçek ve çok
6:55
güçlüdür. Ama seçeneklerde perpe diye
6:57
bir şey görürseniz bakın bu tamamen
6:59
uydurma. Evet kelimenin tam anlamıyla
7:02
uydurulmuş bir şey. Eğer Perpe'yi
7:04
görürseniz hiç düşünmeden çizin üstünü.
7:06
Çünkü Python dünyasında böyle bir şey
7:08
yok. Tabii mimariniz ne kadar muazzam
7:11
olursa olsun bazen eksikler çıkabilir.
7:13
Programı çalıştırdınız diyelim. Ama çok
7:15
önemli bir paketi sisteme dahil etmeyi
7:18
yani import etmeyi unuttunuz. Ya da o
7:20
paket sisteminizde hiç yok. Python bunu
7:23
öyle nazikçe görmezden gelmez. Anında
7:25
karşı çıkıp module not founder hatasını
7:27
yüzünüze fırlatır. Aslında bu iyi bir
7:29
şey. Çünkü bu hatayı gördüğünüz
7:31
anlarsınız ki sistem aradığınız o modülü
7:34
bulamıyor. Hata ayıklama konusunda çok
7:36
net bir yönlendiricidir.
7:38
Ve geldik son aşamamıza. Bölüm 5. Makine
7:41
öğrenmesi ve NRP. İşte veri hattımızın
7:44
meyvelerini topladığımız o muazzama.
7:47
İşin içine gerçek zekayı katıyoruz.
7:50
Yapay sinir ağlarında adımbaşı baya yani
7:53
sapma terimini duyacaksınız. Neden bu
7:55
kadar hayati biliyor musunuz? Eğer
7:57
sistemimize bayas dediğimiz bu sabit
7:59
değeri eklemeseydik fonksiyonlarımız
8:01
sıfır noktasında yani tam o orijin
8:04
merkezinde öylece takılıp kalırdı. Bayaz
8:07
fonksiyonu adeta yerinden oynatıp o
8:09
sıfır noktasından kurtarır. Sisteme çok
8:11
mantıklı bir başlangıç kesişimi vererek
8:14
öğrenmeyi tetikler. Kesinlikle kritik
8:16
bir parçadır. Son konularınızda sıkça
8:19
birbirine karıştırılan iki devasa alan
8:21
var. Doğal dil işleme yani NLP ve sesli
8:24
asistanlar. Bakın ikisi aynı şey değil.
8:27
NLP'nin tek derdi saf metinlerdir. Bir
8:29
metnin duygu analizini yapar veya
8:31
karşınıza o akıllı sohbet botlarını
8:32
çıkarır. İşin içinde sadece yazı vardır.
8:35
Sesli asistanlar ise o bambaşka bir
8:38
mühendislik. Akustik sinyaller,
8:39
mikrofonlar, ses tanıma teknolojileri
8:41
devreye girer. Yani biri sadece
8:43
kelimeleri okurken diğeri frekansları
8:46
dinler. Bu ayrımı kafanıza oturttuğunuz
8:48
an soruları çok rahat çözeceksiniz. İşte
8:51
bu kadar. veriyi o en ham halinden alıp
8:54
akıllı ve zeki sistemlere
8:55
dönüştürdüğümüz bu bütünsel veri hattı
8:58
yani data pipeline maceramız burada
9:00
tamamlanıyor. Dikkat ettiniz mi? Tüm bu
9:02
adımlar nasıl da mantıklı bir zincir
9:04
gibi birbirine bağlanıyor? Veriyi
9:06
okuduk, görsellere döktük, matematiksel
9:08
olarak modelledik, sağlam bir mimariyle
9:11
korumaya aldık ve en sonunda ona bir
9:13
zeka kattık. Süreci böyle mantığıyla
9:15
kavradıktan sonra inanın okuru
9:17
ezberlerin hiçbirine ihtiyacınız yok. O
9:20
yüzden şimdi size o son kritik soruyu
9:22
soruyorum. Bütün bu büyük resmi
9:24
gördükten sonra sınava hazır mısınız?
9:26
Bence kesinlikle hazırsınız. Harika bir
9:29
sınav geçirmenizi diliyorum. Bu
9:30
açıklayıcı rehberimizde bizimle
9:32
olduğunuz için çok teşekkürler.
9:34
öğrenmeye ve keşfetmeye devam edin.

