Dersin Amacı: |
Bu ders kapsamında öğrencilere Phyton programlama dili ile istatistiksel olarak verilerin derlenmesi, analizi, yorumlanması, görselleştirilmesi, verilerden faydalı bilgilerin öğrenilmesi ve kullanışlı tahminlerin yapılabilmesine yönelik bilgi ve kazanımların sağlanması amaçlanmaktadır. |
Dersin İçeriği: |
Bu ders; Python programlama dilinde veri analizine yönelik temel bilgileri, verilerin hazırlanması, ön işleme süreçlerini, temel istatistik kavramlarını, verilerin modellenmesini, verilerin görselleştirilmesini, istatiksel analiz tekniklerini, veri analizi için temel python kütüphanelerini (pandas-numpy- matplotlib- Scikit-learn), analizi yapılacak veriler için otomatik öğrenme ve tahminde kullanılan makine öğrenimi algoritmalarını kapsamaktadır. |
Hafta |
Konu |
Ön Hazırlık |
1) |
Veriden bilgiye dönüşüm
- Verilerin elde edilmesi
- Büyük veri
- Öznitelik kavramı
- Veri Türleri
Makine öğrenmesi türleri
- Denetimli öğrenme
-Sınıflandırma
- Regresyon
- Denetimsiz öğrenme
- Kümeleme
- Boyut azaltma
- Takviyeli öğrenme
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
2) |
Temel istatistik kavramları
- İstatiksel öngörü
- Tanımlayıcı istatistik
- Çıkarımsal İstatistik
- Varyans, mod, meridyen
- Standart sapma
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. |
3) |
Python’da veri analizi için gerekli kütüphaneler
-Numpy kütüphanesi
- Numpy ile N boyutlu diziler
- Numpy ile aritmetik işlemler
- Numpy ile temel matematik ve istatistik fonksiyonları
- Tek boyutlu ve çok boyutlu dizilerin dilimlenmesi
- Dizilerin birleştirilmesi ve ayrılması
- Pandas kütüphanesi
- Seriler
- Dataframe yapıları
- .xlsx ve .csv uzantılı dosyalara ait verilerinin okunması
- Öznitelikler arasındaki korelasyon
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Vize ve final sınavlarında teslim alınacak ödevlerin belirlenmesi. |
4) |
Python’da veri analizi için gerekli kütüphaneler
- Matplotlib Kütüphanesi
- Grafik üzerinde eşik değer gösterimi
- Fonksiyonların grafiklerinin çizilmesi
- Histogram grafiği
- Sütun Grafiği
- Üç boyutlu yüzey grafiği
- Üç boyutlu sütun grafiği
- Üç boyutlu saçılım grafiği
- Çekirdek yoğunluk tahmini grafiği
- Çok serili çubuk grafiği
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma.
|
5) |
Denetimli öğrenmede veri iş akışı
- Ham verinin elde edilmesi
- Kayıp veri analizi
- Kategorik verilerin dönüşümü
- Öznitelik çıkarımı
- Eğitim setinin ve test setinin oluşturulması
- Aşırı öğrenme (overfitting)
- Düzenlileştirme (regularization)
- k-Katlı Çapraz Doğrulama
- Öznitelik seçimi
- Öznitelik ölçeklendirme
- Standardizasyon
- Normalizasyon
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
6) |
Python ile veri ön işleme süreci
- Kayıp verilerin giderilmesi
- Scikit-learn temel tasarım prensipleri
- Estimators
- Predictors
- Transformers
- Kategorik verilerin Dönüşümü
- Label Encoding
- One-Hot Encoding |
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
7) |
Ödev sunumları,
Ara sınav öncesi genel konuların özet tekrarı, sınıf içi soru ve cevap çalışmaları, ödevlerdeki eksikliklerin belirlenmesi.
|
Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
8) |
Ara Sınav (Ödev teslimi) |
|
9) |
Regresyon
- Doğrusal regresyon
- En küçük kareler metodu
- Eğim iniş algoritması
- Yığın Eğim iniş algoritması
- Rastgele eğim iniş algoritması
- Mini yığın iniş algoritması
- Doğrusal regresyon ile örnek Python uygulaması
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
10) |
Regresyon
- Polinom regresyon
- Polinom regresyon ile örnek Python uygulaması
- Çoklu doğrusal regresyon
- Çoklu doğrusal regresyon için varsayımlar
- Doğrusallık
- Çoklu bağlantı
- Otokorelasyon
- Hataların Normal dağılımı
- Eş varyans
- Bağımsız değişkenlerin seçimi
- Çoklu doğrusal regresyon ile örnek python uygulaması
|
Konuya ilişkin paylaşılan ders sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
11) |
Regresyon için Performans değerlendirme ölçütleri
- Ortalama mutlak hata
- Ortalama kare hata
- Ortalama Kare hata karekökü
- Belirleme katsayısı
Sınıflandırma için performans değerlendirme ölçütleri
- Hata matrisi
- Doğruluk
- Kesinlik
- Duyarlılık
- Skorlama
- ROC eğrisi
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
12) |
Lojistik regresyon
-Logistik regresyon ile örnek python uygulaması ve verilere ait grafiklerin gösterimi
Veri analizi için kullanılan öğrenme ve tahmin algoritmaları
- K-en yakın komşu algoritması
- K-en yakın komşu algoritması ile örnek python uygulaması ve verilere ait grafiklerin gösterimi
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
13) |
Veri analizi için kullanılan öğrenme ve tahmin algoritmaları
-Bayes Teoremi ve sınıflandırmada kullanımı
- Koşullu olasılık ve Bayes Teoremi
- Yaygın Olaslık Dağılımları
- Bernoulli Dağılımı
- Binom Dağılımı
- Çok terimli Dağılım
- Poisson Dağılımı
- Normal Dağılım
- Olasılık Dağılımlarında parametre tahmini ve en büyük olabilirlik yöntemi
- Naive Bayes Sınıflandırma algoritması
- Naive Bayes algoritması ile örnek python uygulaması ve verilere ait grafiklerin gösterimi
|
Konuya ilişkin paylaşılan sunum ve yardımcı kaynaklardan çalışma. Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
14) |
Ödev Sunumları
Dönem Sonu sınav öncesi genel konuların özet tekrarı, sınıf içi soru ve cevap çalışmaları, ödevlerdeki eksikliklerin belirlenmesi.
|
Belirlenen ödevlerin gerçekleştirilmesine yönelik çalışma. |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Planlama, analiz, tasarım ve yapılandırma aşamalarını içeren bilgi sistemleri geliştirilmesinde kapsamlı bilgi sahibi olma, ilgili geliştirme yöntemleri ve modelleme araçlarını tanıma. |
4 |
2) |
Bilgisayar mühendisliği alanında ileri uygulamaları gerçekleştirecek düzeyde kapsamlı bilgi sahibi olma. |
5 |
3) |
Bilgi ve İletişim Teknolojileri alanında uygulamalı araştırma yaparak bilgiye ulaşabilme, değerlendirme ve uygulama, farklı disiplinlerden bilgiyi entegre etme. |
4 |
4) |
Farklı alanlarda bilimsel yöntemlerle bilgiyi keşfetme, sonuç çıkarma, paylaşma ve uygulama; farklı disiplinlere ait bilgileri ilişkilendirme. |
3 |
5) |
Bilgi teknolojileri alanıyla ile ilgili uzmanlık gerektiren bir çalışmayı bağımsız olarak yürütebilme. |
5 |
6) |
Bilgi ve İletişim Teknolojileri alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunların çözümü için yeni stratejik yaklaşımlar geliştirebilme ve sorumluluk alarak çözüm üretebilme. |
4 |
7) |
Bilgi ve İletişim Teknolojileri alanı ile ilgili sorunların çözümlenmesini gerektiren ortamlarda liderlik yapabilme. |
4 |
8) |
Bilgisayar Mühendisliği alanında edindiği uzmanlık düzeyindeki bilgi ve becerileri eleştirel bir yaklaşımla değerlendirebilme ve öğrenmesini yönlendirebilme. |
5 |
9) |
Bilgisayar Mühendiliği alanındaki güncel çalışmalardan haberdar olma, gelişmeleri sürekli takip etme, gerektiğinde bunları inceleme ve adlandırma. |
5 |
10) |
Türkçe ve İngilizce olarak sözlü ve yazılı etkin iletişim kurma. |
3 |
11) |
Çalışmalarında toplumsal, bilimsel ve etik değerleri gözetme. |
2 |
12) |
Bilgi Teknolojileri ile ilgili konularda strateji, politika ve uygulama planları geliştirebilme ve elde edilen sonuçları, kalite süreçleri çerçevesinde değerlendirebilme. |
3 |
13) |
Bilgisayar Mühendiliği alanında özümsedikleri bilgiyi, problem çözme ve/veya uygulama becerilerini, disiplinlerarası çalışmalarda kullanabilme. |
4 |