Untitled

                Never    
# 2
import numpy as np
import random as rand
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split, KFold, StratifiedKFold, cross_val_score, RepeatedKFold
from sklearn.naive_bayes import GaussianNB
import math

data = np.genfromtxt('data/ionosphere.csv', delimiter=',')
y = data[:, -1]
X = data[:, :-1]

features = X.shape[1]
testingdata = math.floor(features / 2)

featuresList = []
newFeatures = []
clf = []
score = []
y_pred=[]
predicted = []
srednia=[]

numOfClassifiers = 7

for i in range(features):
    featuresList.append(i)

class1 = 0
class11 = 0
class0 = 0
clas00 = 0

for i in range(numOfClassifiers):
    clf.append(GaussianNB())
y_pred.append([])
for i in range(len(clf)):
    X_=[]
    y_=[]
    predicted.append([])
    score.append([])
    newFeatures = rand.sample(featuresList, 17)

    for k in range(len(X)):
        X_.append([])
        for j in newFeatures:
            X_[k].append(X[k][j])
            y_.append(y[j])

    eclf = clf[i]

    rkf = RepeatedKFold(n_splits=2, n_repeats=5)

    X_x=np.array(X_)
    y_y= np.array(y_)

    for train_index, test_index in rkf.split(X_):
        X_train, X_test = X_x [train_index], X_x [test_index]
        y_train, y_test = y_y [train_index], y_y[test_index]
        eclf.fit(X_train, y_train)
        y_pred=eclf.predict(X_test)
        score[i].append(accuracy_score(y_test, y_pred))
        predicted.append(eclf.predict_proba(X_))

print (len(predicted))

        #predicted[i].append(y_pred)

    # glosowanie miekkie
prediction =0
for i in range(numOfClassifiers):
    prediction= prediction +predicted[i][0]

if (prediction/numOfClassifiers)>0.5:
    y_preds=class0
else:
    y_preds=class1

    # glosowanie twarde
if y_pred == 0:
    class0 += 1

if class0 / numOfClassifiers > 0.5:
    y_predh = class0
else:
    y_predh = class1


mean_ = np.mean(score)
std_ = np.std(score)

print (mean_)
print (std_)

Raw Text