Ayşe Nur Türkaslan
Machine Learning Turkiye
3 min readOct 2, 2021

--

Feature Engineering & Data Pre-Processing

(Özellik Mühendisliği & Veri Ön İşleme)

Veri mi ? Model mi ?

Eğer verimiz kötü ise makine öğrenmesi araçlarınız kullanışsız olacaktır. Bu ifade dikkate alınması gereken bir ifade olmakla beraber bu sorumuzun cevabı veridir. Modelimiz veya kullandığımız teknikler ne kadar iyi olursa olsun verimiz kötüyse bu durum çok kötü bir şekilde etkiyecektir. Bu nedenle verimizin iyi olması, bazı kriterleri sağlayabiliyor olması gerekmektedir.

Dünyanın en değerli kaynağı artık petrol değil veridir.

Bu yazıda sırasıyla;

- Outliers (Aykırı Değerler)

- Missing Values( Eksik Değerler)

- Encoding, Feature Scaling (Özellik Ölçeklendirme)

- Feature Extraction (Özellik Çıkarımı)

- Feature Interactions (Özellik Etkileşimleri)

- End-to-End Application (Uçtan-Uca Uygulama)

konuları hakkında detaylarda buluşup verimizi mümkün olduğu kadar kullanılabilir hale getirmiş olacağız.

Andrew NG’in bir sözü ile detaylamamıza başlayalım;

Uygulamalı Makine Öğrenmesi aslında pratik olarak bir değişken mühendisliği işlemine dayanmaktadır. Yani bir makine öğrenmesi modeli kuracak ve geliştirecek olduğumuzda burada önemli olan verinin bize geldiği halinden çok daha boyuta Feature Engineering (Özellik Mühendisliği) yöntemleri ile veriyi getirebilmektir.

Pekii.. Feature Engineering (Özellik Mühendisliği) nedir ?

Özellik mühendisliği, veri madenciliği teknikleri aracılığıyla ham verilerden özellikler çıkarmak için alan bilgisinin kullanılması sürecidir. Bu özellikler, makine öğrenimi algoritmalarının performansını artırmak için kullanılabilir. Aynı zamanda özellik mühendisliği, uygulamalı makine öğreniminin kendisi olarak düşünülebilir.

Kısaca özellikler üzerinde gerçekleştirdiğimiz çalışmalardır. Ham veriden değişken üretmemize olanak sağlar. Burada dikkat etmemiz gereken bir nokta şu olabilir. Bazen Özellik Mühendisliği, Veri Ön İşlemeyi kapsayacak şekilde de kullanılabiliyor. Ya da Veri Ön İşleme daha büyük başlık altında değerlendirilip Özellik Mühendisliği onun alt başlığı olabiliyor.

Ana hedefler:

Makine öğrenmesi algoritma teknikleri ile uyumlu, uygun girdi veri setinin hazırlanması.

Makine öğrenimi modellerinin performansını iyileştirme.

Data Pre-Processing (Veri Ön İşleme) nedir ?

Çalışmalarımız öncesi verinin üzerinde işlem yapılabilecek hale getirilmesi sürecidir.

Outliers (Aykırı Değerler) nedir ?

Verimizdeki genel eğilimin oldukça dışındaki değerlere aykırı değer deriz. Genellenebilirlik kaygısıyla oluşturulan kural setleri ya da fonksiyonları yanıltabilecek türdendir. Sanki farklı bir mekanizma tarafından oluşturulmuş gibi, diğer nesnelerden önemli ölçüde sapan bir veri nesnesidir.

Aykırı değerleri değerlendirme yöntemleri şu şekildedir:

-Sektör Bilgisi

-Standart Sapma Yaklaşımı

- Z- Skoru Yaklaşımı

-Boxplot (interquartile range — IQR) Yöntemi

Çok Değişkenli Aykırı Gözlem Analizi

-Local Outlier Factor(LOF)

kuşlara zaafım var (:

Gözlemleri bulundukları konumda yoğunluk tabanlı skorlayarak buna göre aykırı değer olabilecek değerleri tanımlayabilmemize imkan sağlıyor. Bu noktaların local yoğunluğu bu noktaların komşuları ile karşılaştırılıyor. Eğer komşularının yoğunluğundan anlamlı bir şekilde düşük ise bu nokta komşulardan daha seyrek bir bölgede bulunuyordur yorumu yapılabilir. Dolayısıyla burada bir komşuluk yapısı söz konusu olup bir değerin çevresi eğer yoğun değilse demek ki bu değer aykırı değerdir şekinde değerlendiriliyor. Kısaca her bir gözlem değeri için skor veriyor diyebiliriz.

Missing Values (Eksik Değerler) nedir ?

Gözlemlerde eksiklik olması durumunu ifade etmektedir.

Eksik Veri problemleri nasıl çözülür ?

Silme, Değer Atama Yöntemleri, Tahmine Dayalı Yöntemler

Verinin yapısını bozma konusu dikkate alınarak şu sözü söyleyebilirziz “ Bu çekici gözüküyor ama aslında tehlikelidir.” Bu yüzden eksik değer atama ve aykırı değerler işlemlerinde bi durup düşünmemiz gerekiyor. Eksik veri ile çalışma gerçekleştirirken göz önünde bulundurmamız gereken en önemli konulardan birisi de “eksik verilerin rassallığıdır.”

Peki eksik verinin rassallığı ne demek ?

Yapısal nedenlerden kaynaklı (yani rastgele oluşmamış) NA olması durumunu ifade etmektedir.

Encoding nedir ?

Değişkenlerin temsil şekillerinin değiştirilmesini ifade eder. Kullanacağımız makine öğrenmesi modelleri verilerimizi belli bir standartta istediği için dolayısıyla bunu sağlamamız gerekiyor. Bunun için çeşitli yöntemler mevcut.

Geçmiş dönemlerde sürekli elimin altında bulundurduğum notebook’umu düzenleyip Github’ıma yükledim. Bağlantıdan kategorik değişkenleri encode etme yöntemlerini inceleyebilirsiniz :)

--

--