Uygulamalı Veri Bilimi (Data Science Practicum)

T. C. İstanbul Şehir Üniversitesi

İş Analitiği Yüksek Lisans Dersi

Ders izlencesi ve ders ile ilgili faydalı içerik

Dersin Adı: Uygulamalı İleri İş Analitiği Yöntemleri, Uçtan Uca Veri Bilimi Uygulamaları (End-to-end Data Science Practicum)

Dersin Kodu: IAN 506

Dönemi: Bahar 2018

Kredisi : 3

Öğretim Üyesi: Doç. Dr. Şadi Evren ŞEKER

İletişim: veribilimi2018@sadievrenseker.com

Ders İçeriği:
Bu dersin amacı, yüksek lisans programında bulunan derslerde edinilen bilgi birikimini pekiştirmek ve birleştirmektir. Bu amaçla tanımlayıcı analitik (Descriptive analytics), tahminci analitik (predictive analytics) ve buyrukçu analitik ( prescriptive analytics) kavramları birleştirilerek uygulamalar yapılacaktır. Ders kapsamında aşağıda listelenen araçlar karşılaştırmalı olarak kullanılacaktır:

  • Rapid Miner
  • R
  • Python
  • Knime
  • Weka

Ayrıca güncel konulara da yer verilecek ve örneğin derin öğrenme gibi konular için de tensor flow benzeri kütüphanelere giriş yapılacaktır.

Dersin amacı, katılımcıları, veri bilimi, veri analitiği ve iş analitiği dünyasında kullanılan temel teknolojileri, algoritmaları ve görselleştirme / analiz araçlarını temel düzeyde kullanacak seviyeye getirmektir.

Kaynak Kitaplar

  • Python for Data Analysis, 2nd Edition Data Wrangling with Pandas, NumPy, and IPython,  William McKinney, 2017
  • Learning scikit-learn: Machine Learning in Python Paperback – November 25, 2013, Raúl Garreta, Guillermo Moncecchi
  • Building Machine Learning Systems with Python , Willi Richert, Luis Pedro Coelho , 2013

Ders boyunca öğrencilere okumaları gereken bazı ufak vaka çalışmaları ile makaleler verilecektir.

Vaka Çalışmaları:
Ders kapsamında, uygulama eğitim yolu izlenecektir ve çok sayıda vaka üzerinde veri analizi python dili kullanılarak yapılacaktır. Ders kapsamında verilen örnek veri kümeleri üzerinde katılımcıları gerçek hayat projelerini uygulamaları beklenmektedir.

Ödevler:
Ders kapsamında, 5 farklı ödev verilmesi planlanmaktadır. Bu ödevlerin süresi bir hafta ile iki hafta arasında değişmekle birlikte genelde her hafta yeni bir ödev verilecektir. Ödevler bireysel olarak yapılacaktır.

Projeler:

Ders kapsamında, her öğrenciye bir dönem projesi verilmesi ve projenin baştan sona öğrenci tarafından yürütülerek raporunun ve sunumunun hazırlanması beklenmektedir. Projelerin rapor ve proje dosyası dışında sunumları 19 ve 26 Mayıs tarihlerinde yapılacaktır. En geç proje teslim tarihi (rapor + sunum + proje dosyası) 18 Mayıs’tır. (Güncellendi: Proje teslim tarihleri aşağıdaki notlama kısmında belirtilen şekilde güncellenmiştir).

Proje Notlama: 

  • Sunum günü sabah 9’da yapılacak yoklama : 10%
  • 25 Mayıs 2018 (sunumdan bir gün önce) en geç gece yarısına kadar proje raporu ve sunumu yollamış olmak : 10%
  • Uçtan uca (CRISP-DM adımlarının tamamı sorgulanacaktır) çalışan bir proje teslimi : 40%
  • Problemi doğru adreslemek ve tam olarak çözen bir model geliştirmek : 10%
  • Doğru veri ön işleme adımları : 10%
  • Doğru modellerin denenmiş olması : 10%
  • Modellerin iyileştirilmesi : 10%
  • Doğru değerlendirme kriterlerinin tanımı ve modellerin ölçümü : 10%

Ders içi uygulamalar:
Derste anlatılan konular, katılımcılar ile birlikte birebir örnek veriler üzerinde uygulanacaktır. Bu yüzden katılımcılaırn bilgisayarlarını getirmeleri ve ilk derste anlatılan python yazılımını kurmaları gerekmektedir, ayrıca her ders için gereken ilave kütüphaneler bir önceki derste veya ilgili derste anlatılacaktır.

Derste ulaşılması hedeflenenler:

  1. Veri bilimi proje yönetim tekniklerini ve projenin başlangıç, bitiş koşullarını tanımlayabiliyor olmak.
  2. Bir veri bilimi projesini baştan sona yönetebiliyor olmak.
  3. Veri bilimi için kritik olan problem algılama, problemleri sınıflandırma ve literatürde konumlama yeteneğine sahip olmak.
  4. Gerekli veri ön işleme aşamalarını yapabiliyor olmak ve proje sürecinde doğru ön işleme aşamalarına karar vermek
  5. Veri bilimi dünyasında sık kullanılan makine öğrenmesi ve istatistiksel modelleri tanıyor ve probleme uygun olarak doğru parametrelerle kullanabiliyor olmak.
  6. Veri bilimi projesinin çıktılarını doğru yargılayabiliyor ve sunabiliyor olmak.

Ders İzlencesi:

  • Hafta 1 (10 Mart): Derse giriş, izlenecek metodoloji (CRISP-DM), Veri Önişleme kavramlarına giriş
  • Hafta 2 ( 17 Mart): Veri Önişleme örnekleri (knime dosyasını indirmek için tıklayınız)
  • Hafta 3 (24 Mart) : Regresyon modellerine giriş (basit doğrusal, çoklu doğrusal regresyon (multiple linear regression)) , korelasyon matrisi, p-value ve değişken seçimi, backward elimination, forward selection  (knime dosyaları: dosya 1 , dosya 2)
  • Hafta 4 (31 Mart): Regresyon modelleri ve karşılaştırma yöntemleri (Decision Tree, Random Forest, Linear, Polynomial)  (knime dosyasını indirmek için tıklayınız)
  • Hafta 5 (7 Nisan): Tahmin modellerinin karşılaştırılması (R2 ve adjusted R2 hesaplanması), Sınıflandırma problemlerine giriş ve Logistic Regression
    • Proje Konusu: Dönem sonuna kadar yapmayı planladığınız bir proje konusu belirleyiniz. Proje konusu ile ilgili konuyu açıklayan (iş süreci ve veri açıklaması çok önemli (crisp-dm hatırlayınız)) ve tahmini olarak izleyeceğiniz veri ön işleme, model oluşturma ve değerlendirme adımlarını içeren bir raporu gönderiniz (teslim tarihi: 14 Nisan).
    • Ödev 1: Tahmin (Prediction Uygulaması): Geliştireceğiniz veri önişleme ve tahmin yöntemleri ile günlük borsa tahmini, ve dolar kuru tahmini yapan knime projeleri geliştiriniz, başarınızı nasıl ölçtüğünüzü tartışınız ve başarının iyileştirilmesi için izlediğiniz yolları anlatınız. (teslim tarihi: 21 Nisan)
    • Logistic Regression ve Sınıflandırmaya giriş (knime dosyasını indirmek için)
    • K-NN ve Mesafe Fonksiyonları (knime dosyasını indirmek için)
  • Hafta 6 (14 Nisan): Zaman Serisi (Time Series Analysis) Analizi , Sınıflandırma algoritmaları, SVM, Decision Tree ve Random Forest
    • Hatırlatma! : Proje konusu için son teslim tarihi gece yarısına kadardır.
    • Ödev 1 Değerlendirme: Ödev 1’de kullandığınız veri kümesinden de faydalanarak (sadece son kolon için) aşağıdaki tabloyu tamamlayınız (Teslim Tarihi 28 Nisan).
    • Ödev 2: Sınıflandırma (Classification) Uygulaması: Kaggle üzerindeki reklam takibi ve sahtekarlık yakalama ile ilgili şu yarışmaya katılınız. (link için tıklayınız) Burada bulunan eğitim ve test verilerini indirerek en az, derste öğrendiğimiz algoritmalar (Logistic Regression, KNN, SVM, Decision Tree, Random Forest) ve bu algoritmaların parametrelerini kullanarak sınıflandırma modellerinizi çalıştırınız. (Teslim tarihi 28 Nisan)
    • Proje İlerleme Raporu 1: Projenizde CRISP-DM metodunu kullanarak 3 döngüde ilerlemeniz hedeflenmektedir. Dolayısıyla, CRISP-DM’de bulunan adımları 3 kere dönecek ve her döngüde iyileştirmeler yapacaksınız. İlk döngünün ilk iki adımı olan problem analizi ve veri analizi raporlarınızı hazırlayınız (problemi ve veriyi tanımlayın). (Teslim tarihi 21 Nisan)
    • Zaman Öznitelik Çıkarımı (tarih ve Saat için): (knime dosyası için tıklayınız) (örnek CSV dosyası ödev 2’de bulunan kaggle projesindeki örnek (train_sample.csv) dosyasıdır)
    • Zaman Serisi Analizi ve bir örnek olarak Hareketli Ortalama (Moving Average): (knime dosyası için tıklayınız)
    • Titanic Veri Kümesi (CSV)
    • Sınıflandırma Örneği (Knime dosyası için tıklayınız)
  • Hafta 7 ( 21 Nisan): Sınıflandırma Algoritmaları Özet ve Kümeleme Algoritmaları
    • Hatırlatma!: Proje ilerleme Raporu 1 ve 1. Ödev için son teslim tarihi gece yarısına kadardır.
    • Ödev 2 Değerlendirme: Ödev 2’de kullandığınız veri kümesinden de faydalanarak (sadece son kolon için) aşağıdaki tabloyu tamamlayınız (Teslim Tarihi 5 Mayıs).
    • Proje ilerleme Raporu 2: Projenizde farklı veri ön işleme yöntemleri kullanarak çıktıları karşılaştırınız, işlenmesi ve çözülmesi gereken önemli problemleri tanımlayarak hangi veri işleme yöntemleri ile çözdüğünüzü açıklayınız. (örneğin, eksik veri, gürültülü veya kirli ver, tarih veya zaman alanları, veri zenginleştirme, dengesiz veri vs.)
    • Ödev 3: Kümeleme Problemleri Uygulaması: Ekte bulunan bağlantıdan Customer Excel dosyasını indiriniz (bağlantı için tıklayınız) ardından Excel’de oluşturulan özet tabloyu (pivot) knime ile oluşturun (Exceldeki sheet3 sayfasında) ve kmeans algoritmasını kullanarak derste yaptığımız üç işlemin benzerlerini aşağıdaki şekilde gerçekleştirin (Teslim tarihi 12 Mayıs)
      • 1. müşteri segmentasyonunu oluşturun (mantıklı olan öznitelikleri kullanarak)
      • 2. Aylara ve bölgelere göre pivot tablosunu oluşturun
      • 3. indirim oranına göre müşteri segmentlerini çıkarın
      • 4. Bölgelere göre segmentasyon yaparak teklifler (offerinformation) ve işlemler (transaction) karşılaştırın
    • Dengesiz Veri Kümeleri ( Unbalanaced Data Set) ve çözümleri : Under-sampling, SMOTE (Knime dosyasını ve örnek veri kümesini indirmek için tıklayınız)
    • Okuma Konuları:
    • Müşteri Segmentasyonu Örneği (Customer Segmentation) ve Python Kodu ( Knime dosyalarını indirmek için tıklayınız , Veri Kümesini indirmek için tıklayınız)
  • Hafta 8 (28 Nisan): Kümeleme Algoritmaları Devam
    • Hatırlatma! : Proje İlerleme Raporu 2, Ödev 1 değerlendirme raporu ve Ödev 2 için son teslim gece yarısına kadardır.
    • Ödev 4: Bir önceki ödevde ( Ödev 3) elde ettiğiniz önizlemesi tamamlanmış veriyi, Hiyerarşik Bölütleme / Kümeleme ve K-Means ve K-Medoids yöntemlerine göre bölümleyin. En verimli bölüt sayısını (WCSS dirsek metodunu ve dendrogram metodunu kullanarak) bulun ve çıkan bölümleme sonuçlarını raporlayarak karşılaştırın. (Teslim tarihi 19 Mayıs)
    • Proje ilerleme Raporu 3: Projenize uygun veri madenciliği modellerini belirleyerek hangi yöntemleri neden seçtiğinizi açıklayınız. Ardından, yöntemleri deneyerek çıktıları karşılaştırınız. Kullandığınız yöntemlere uygun olarak değerlendirme (evaluation) metriklerini belirleyin, hangi metrikleri ve neden kullandığınızı açıklayın. Son adımda, yöntemleri iyileştirmek için gerekli parametre iyileştirmelerini yaparak hangi parametreleri neden ve nasıl iyileştirdiğinizi açıklayınız.
    • Bölütleme / Kümeleme Algoritmaları : K-Means, K-Medoids ve Hierarchical Clustering (HC) Yöntemlerinin karşılaştırılması. K-Means için WCSS kullanılarak en optimum bölüt sayısının bulunması ve HC için dendrogram kullanarak en optimum bölüt sayısının bulunması ve HC için farklı linkage yöntemleri (min, Max, group average, center, ward’s method) : aşağıdaki knime workflow’u indirmek için tıklayınız.
    • Yukarıda yapılan workflow adımları:
    • 1. Iris verisini yükleyin
      1.1. column filter ile sınıf bilgilerini atın
      2. K-Means ve K-Medoids için
      2.1. Kümeleme için en ideal K değerini bulun (entropy)
      2.2. K-means ve K-medoids ile kümeleme yapın
      3. Hierarchical Clustering(HC) için en ideal K değerini bulun
      (dendrogram kullanarak)
      4. HC ile kümeleme yapın
      5. K = 3 için 3 yöntemi de tekrar çalıştırın
      6. Orjinal Sınıf bilgileri ile K=3 için çıkan sonuçları karşılaştırın
      7. Başarısı en yüksek olan bölütleme yöntemini raporlayın.
    • Elde edilen sonuçlar:HC : 150 ‘de 24 hata
      KMeans : 17 hata
      KMedoids : 16 hata
  • İptal : Hafta 9 ( 5 Mayıs) : Bu hafta ders yapılmayacaktır.
    • Hatırlatma! : Ödev 2 Değerlendirme için ve Proje İlerleme Raporu 3 için son teslim tarihi gece yarısına kadardır.
    • Proje ilerleme Raporu 4: Projenizdeki bütün adımları 2. kere geçerek başarıda iyileştirmeye gitmeye çalışın, denemelerinizi ve ulaştığınız sonuçları raporlayın.
  • Hafta 10 ( 12 Mayıs): Metin Madenciliği (Text Mining)
    • Hatırlatma! : Ödev 3 ve Proje İlerleme Raporu 4 için son teslim tarihi gece yarısına kadardır.
    • Ödev 5: RSS Feed kullanarak bir gazetenin ekonomi, politika ve magazin haberlerini çekin (3 sınıf olması yeterli, bu sınıfları değiştirebilirsiniz). Ardından bu haberleri etiketlemeden kümeleme (clustering) algoritmaları ile 5 farklı kümeye bölün. Orijinal verinizdeki 3 sınıfın hangi kümeye, ne oranda dağıldığını bulun.  (Teslim tarihi 26 Mayıs)
    • Proje ilerleme Raporu 5: Projenizdeki bütün adımları 3. kere geçerek başarıda iyileştirmeye gitmeye çalışın, denemelerinizi ve ulaştığınız sonuçları raporlayın.
    • Derste kullanacağımız örnek metin dosyası için tıklayınız. 
    • RSS Workflow örneği (Eklentilerden : Palladian ve Text Processing Kurulu olması gerekir)
    • Metin Etiketleme (tagging) ve etiket bulutu (tag cloud): Knime Workflow indirmek için tıklayın.
    • Metin Sınıflandırma (Text Classification): Knime Workflow indirmek için tıklayın.

 

  • Tatil: Hafta 11 ( 19 Mayıs) : Pekiştirmeli Öğrenme Tekrar ve Karmaşık Olay İşleme (Complex Event Processing)
    • Hatırlatma! :  Proje İlerleme Raporu 5 için son teslim tarihi gece yarısına kadardır.  Proje dosyalarının teslimi için son tarih 25 Mayıs gece yarısına kadardır. Ödev 4 için son teslim tarihi gece yarısına kadardır.
    • Proje Nihayi Raporu ve Sunum: Şimdiye kadar olan proje adımlarını birleştirerek tek bir rapor haline getirin ve sunumunuzu hazırlayarak yollayın (Son Teslim Tarihi 25 Mayıs gece yarısıdır).
  • Hafta 12 ( 26 Mayıs) : Proje Sunumları, Saat 9:00’da başlayacaktır ve 9’da yoklama alınacaktır
    • Hatırlatma!: Proje dosyalarının teslimi için son tarih 25 Mayıs gece yarısına kadardır. Ödev 5 için son teslim tarihi gece yarısına kadardır.

Notlar 

Notlarınız teslimlere göre buradan duyurulmaktadır. Ders kapsamında geç gönderme ile ilgili bir uygulama bulunmadığı için (istisna olarak proje ile ilgili durum yukarıda belirtilmiştir) lütfen vaktinde ödev ve projelerinizi teslim edin, aksi halde değerlendirmeye alınmayacaktır.

Kişisel bilgilerin korunması gereği, isim yerine okul numaralarınız ile notlarınız duyurulmaktadır.

Öğrencinin numarası Ödev 1 Açıklama Ödev 1 Değerlendirme Ödev 2 Açıklama Ödev 2 değerlendirme
317290717 100 0 0
317290718 100 80 100
317290749 100 0 0
317291226 0 0 0
317340543 70 rapor yok 0 100
317341572 0 0 0
317350880 0 0 0
317401766 0 0 0
317401777 0 0 0
317410550 0 0 30 Proje dosyası yok, sadece rapor gelmiş
317411502 0 0 0
317411574 80 rapor eksik 0 0
317412563 70 rapor yok 0 100
317420715 0 0 0
317422050 100 0 0
317792235 0 0 0
317960719 0 0 0
317961796 100 100 70 rapor yok
317963707 100 0 70 rapor yok 100