Hafta 4 Örnek 3


import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from sklearn import preprocessing

from sklearn.linear_model import LogisticRegression

from sklearn.neighbors import KNeighborsClassifier  

from sklearn.naive_bayes import GaussianNB

from sklearn.cross_validation import train_test_split

from sklearn.metrics import accuracy_score

from sklearn.metrics import f1_score

from sklearn.tree import DecisionTreeClassifier

from sklearn.model_selection import KFold

from sklearn.svm import SVC


#Dosyayi Yukle

veri = pd.read_csv('veri/data_base.csv')

ozellik_sayisi = 20



#giris cikis belirle

giris_verileri = veri.iloc[:,1:ozellik_sayisi+1]

cikis = veri.iloc[:,-1]


siniflandiricilar=[KNeighborsClassifier(n_neighbors=3), LogisticRegression(random_state=0), GaussianNB(), DecisionTreeClassifier(), SVC(), RandomForestClassifier(n_estimators=50,)]


basari=list()

kSayisi = 10

kf = KFold(n_splits=kSayisi)   

fSkor = list()

for i in range(6):   

    toplamBasari = 0;

    toplamfSkor = 0;

    for egitim_index, test_index in kf.split(giris_verileri):

        #Standardizasyon

        scaler = preprocessing.StandardScaler()

        stdGiris = scaler.fit_transform(giris_verileri.iloc[egitim_index,:])

        stdTest = scaler.transform(giris_verileri.iloc[test_index,:])        

        siniflandiricilar[i].fit(stdGiris, cikis[egitim_index] )        

        cikis_tahmin = siniflandiricilar[i].predict(stdTest)

        toplamBasari += (accuracy_score(cikis[test_index], cikis_tahmin))        

        toplamfSkor += ( f1_score(cikis[test_index], cikis_tahmin, labels=None, pos_label=1, average='binary', sample_weight=None))        

    basari.append(toplamBasari/kSayisi)

    fSkor.append(toplamfSkor/kSayisi)