Data ScienceGeneral

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.

pandasnumpy

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 

dataVeri 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)  

Ekran Resmi 2018 12 23 13.57.18

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)  

sciketlearnKategorik 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ı   

Ekran Resmi 2018 12 23 14.36.11Modelimiz 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) 

Ekran Resmi 2018 12 23 15.31.32Makine öğ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()


 

Leave a Reply

Your email address will not be published. Required fields are marked *

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

Back to top button