Supervised Kaggle Dosyasının Linki: https://www.kaggle.com/code/melihak635442/melihneosupervisedml
Unsupervised Kaggle Dosyasının Linki: https://www.kaggle.com/code/melihak635442/melihneounsupervisedml
Nasa'nın Dünyaya yakın cisimleri tespit ettiği ve bunları kütlesi, yarıçapı, hızı, uzaklığı ve tehlikeli olup olmadığına göre ayırdığı bir veri seti kullandım. Bu veriler ışığında Gözetimli Makinme Öğrenmesi olarak Logistic Regression algoritmasını kullanmaya karar verdim. Bu algoritmayı seçme sebebim elimdeki verilerin hepsinin pozitif korelasyona sahip olmamasıydı. Gözetimsiz Makine Öğrenmesi olarak ise K-Means algoritmasını kullanmaya karar verdim. Bu algoritmayı seçmeden önce anomali tespiti yapan algoritmaları denedim ancak verilerimde pek anomali bulunmmuyordu. Belirli verileri sağlayan cisimler tehlikeli olarak sınıflanıyordu. Bu sebeple K-Means algoritmasını kullandım.
Verilerimi kullanıma hazır hale getirmek için Verisetindeki id, isim ve hangi yörüngede olduğu sütunlarını veri setinden drop() fonksiyonuyla sildim. Sonrasında verilerimde NaN değerler olduğunu fark ettim ve mentoruma danıştığımda Simple Imputer algoritmasını kullanabileceğimi belirtti. Simple Imputer algoritmasını ortalama (mean) metoduyla kullandım.
Sıra Logistic Regression algoritmamı uygulamaya geldi. Algoritmayı test_size = 0.2 ve random_state = 42 değerleriyle eğitip kullandım ve doğruluk oranını hesapladığımda 0.87 değerini aldım.
Sadece bu oran yeterli olmayacağı için f1 score'unu da hesapladım Bunun için DecisionTree algoritmasını daha küçük parçalara böldüm ve GridSearch algoritmasını kullandım. İlginç bir şekilde GridSearch ile baktığımda entropy ve gini kriterleriyle 13 ve 14 derinliklerinin skorda bir değişikliğe sebep olmadığını fark ettim.
Sonrasında F1 Score'u hesapladım ve aslında algoritmamın tehlikesizleri ayırmakta iyi olmasına rağmen tehlikeli olanları ayırmakta çok da başarılı olmadığını gördüm.
Gözetimsiz Öğrenme kısmında da veri setini aynı şekilde temizleyip optimize ettiğim için bu kısmı atlıyorum. K-Means algoritmasını kullanmak için öncelikle Elbow Metodu ile N küme sayısının kaç olması gerektiğini buluyorum ve ilginç bir şekilde 3 değerini alıyorum.
Sonrasında modelimi veri setine uyguluyorum ve Silhouette Skoru ile Calinski-Harabasz indeksini hesaplıyorum. Burada da aynı şekilde n_clusters değişkenini 2, 3 ve 4 değerleriyle hesaplatıyorum ve 3 değerinde en yüksek skora erişiyorum.
Araştırdığımda ise Silhouette skorunun 0 ile 0.5 değerleri arasında olması ortalama bir başarıya sahip olduğunu gösteriyormuş.
Sonuç olarak kullandığım veri seti, Gözetimli Makine Öğrenmesi Algoritmasında daha başarılı oranlar elde etmişti fakat orada da tehlikeli olanları belirlemekteki doğruluğu yüksek değildi. Gözetimli ve Gözetimsiz algoritmalarda ortalama sonuçlar verdiğini söyleyebiliriz.




