Skip to main content

Veri Ön İşleme / Python

Adım 1 :  Gerekli Kütüphaneyi İçe Aktarma (import)

Python da makine öğrenmesi işlemlerinin yaparken her zaman import  edeceğimiz iki kütüphanemiz vardır bunlar Numpy ve Pandas.

Numpy, Matematiksel fonksiyonları içeren bir kütüphanedir.

Pandas, Veri setlerini içeri aktarmak ve yönetmek için kullanılan kütüphanedir.

 

import numpy as np
import pandas as pd

Adım 2 :  Veri Setini içe aktarma 

Veri kümeleri genellikle .csv formatında  bulunur. CSV uzantılı dosyalar, veritabanı kullanıcıları için verileri virgüller ile ayırarak belli bir düzende yazıp kaydedilmiş olan dosyalardır. Dosyanın her satırı bir veri kaydını içermektedir.
Bir CSV dosyasını dataframe olarak okumak için pandas kütüphanesinin read_csv metodu kullanılmaktadır.

veriler = pd.read_csv('veriseti.csv')

Daha sonra verimizi bağımlı ve bağımsız değişkenler olarak ayırabiliriz.


Adım 3 :  Eksik Verilerin Ele Alınması (missing value)  

Genelde elde ettiğimiz verilerimiz nadiren homojendir, çeşitli nedenlerden dolayı eksik  değerler olabilir örneğin yazılımsal, donanımsal hatalar yanlış kayıt vb. hatalar eksik verilere neden olabilir. Bu eksik değerlerin  ele alınması gerekir, böylece makine öğrenme modelimizin performansını düşürmemiş oluruz.  Çeşitli yöntemlerle eksik verilerin giderilmesi sağlanabilir örneğin yerine ortalamayı koymak bir çözüm olabilir.

from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values ='NaN',strategy="mean",axis=0)

Adım 4 :  Kategorik Verilerin Çevirilmesi (encoding)  

Kategorik veriler, sayısal değerler yerine etiket değerleri içeren değişkenlerdir. Olası değerlerin sayısı genellikle sabit bir setle sınırlıdır. “Evet” ve “Hayır” gibi örnek değerler modelin matematiksel denklemlerinde kullanılamaz, bu yüzden bu değişkenleri sayılara kodlamamız gerekir. Bu değişkenleri çevirebilmek için, LabelEncoder sınıfını sklearn.preprocessing kütüphanesinden çağırarak kullanıyoruz.

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()

Adım 5 : Verinin Eğitim ve Test Verisi Olarak Ayrılması   

Modelimiz için kullanacağımız veri setini eğitim ve test veri seti olarak iki parçaya ayırıyoruz.  Eğitim verisi ile modeli eğitirken, test verimizi kullanarakta eğitim verisi ile öğrenmiş  modelimizin başarısını değerlendiriyoruz. Bölünme işlemi genellikle 66/34 şeklinde yapılmaktadır %66 eğitim verisi iken %34’lük kısım test olarak ayrılmaktadır. Bu işlem için  sklearn.crossvalidation kütüphanesinin  train_test_split() metodunu içeri aktarıyoruz.

from sklearn.cross_validation import train_test_split
a_train, a_test, b_train, b_test = train_test_split(a, b, test_size=0.33)


Adım 5 : Özellik Ölçeklendirilmesi (feature scaling) 

Makine öğrenmesi algoritmalarının çoğu hesaplamalarında uzaklık metriklerinden olan  iki veri noktası arasındaki mesafeyi ölçen  Öklid formülünü kullanır. Tüm değerlerin eşit olarak katkıda bulunmasını sağlamak için değerler aynı birime getirilmesi gerekmektedir. Büyüklük bakımından oldukça değişkenlik gösteren veriler mesafe hesaplamalarında, ağırlık hesaplamalarında düşük değerdeki özelliklerden daha ağır basacağından varyansı artıracaktır ve eşit etki etmeyeceklerdir. Özellik standardizasyonu veya Z-skor normizasyonu yöntemi  ile veriler ölçeklendirilir. Bu işlem için python da Sklearn.preprocessing kütüphanesinin  StandardScaler metodu  içe aktarılıp kullanılmkatadır.

from sklearn import preprocessing

scaler = preprocessing.StandardScaler()


 

Zeynep Küçük

Hi, I’m Zeynep I am studying in computer engineering in Samsun. I love to share and write about anything that interests me in tech, so welcome on my blog. I’d be really glad to get in touch with you! Don’t forget you can always contact me by email for any inquiries.Follow me on social media.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.