Esempio n. 1
0
        },
        {
            'regwgt': 0.01,
            'nh': 8
        },
        {
            'regwgt': 0.05,
            'nh': 16
        },
        {
            'regwgt': 0.1,
            'nh': 32
        },
    )
    numparams = len(parameters)
    trainset, testset = dtl.load_susy(trainsize, testsize)
    learnername = cross_validate(3, trainset[0], trainset[1], cls.items())
    print('Best parameters for k fold ' + learnername)

    learnername = strat_cross_validate(3, trainset[0], trainset[1],
                                       cls.items())

    print('Best parameters for Stratified k fold ' + learnername)
    errors = {}
    for learnername in classalgs:
        errors[learnername] = np.zeros((numparams, numruns))

    for r in range(numruns):
        trainset1, testset1 = dtl.load_susy(trainsize, testsize)
        #trainset, testset = dtl.load_susy_complete(trainsize,testsize)
        trainset2, testset2 = dtl.load_census(trainsize, testsize)
Esempio n. 2
0
            'regwgt': 0.05,
            'nh': 16
        },
        {
            'regwgt': 0.1,
            'nh': 32
        },
    )
    numparams = len(parameters)

    errors = {}
    for learnername in classalgs:
        errors[learnername] = np.zeros((numparams, numruns))

    for r in range(numruns):
        trainset, testset = dtl.load_susy()
        #print("a0",trainset[0])
        #print("a1", trainset[1])
        #print(testset[0], testset[1])
        # trainset, testset = dtl.load_susy_complete(trainsize,testsize)
        # trainset, testset = dtl.load_census(trainsize,testsize)

        print(('Running on train={0} and test={1} samples for run {2}').format(
            trainset[0].shape[0], testset[0].shape[0], r))

        for p in range(numparams):
            params = parameters[p]
            for learnername, learner in classalgs.items():
                # Reset learner for new parameters
                learner.reset(params)
                print('Running learner = ' + learnername + ' on parameters ' +
                }
    numalgs = len(classalgs)

    parameters = (
        # {'p': 35, 'kernel': 'gaussian', 'centroid_selection_Algo': 'Kmeans', 'beta': 1},
        {'p': 35, 'kernel': 'gaussian', 'centroid_selection_Algo': 'Kmeans', 'beta': 0.5},
        # {'p': 35, 'kernel': 'gaussian', 'centroid_selection_Algo': 'Kmeans', 'beta': 0.1},
    )
    numparams = len(parameters)

    errors = {}
    for learnername in classalgs:
        errors[learnername] = np.zeros((numparams,numruns))

    for r in range(numruns):
        trainset, testset = dtl.load_susy(trainsize,testsize)
        # trainset, testset = dtl.load_susy_complete(trainsize, testsize)

        print(('Running on train={0} and test={1} samples for run {2}').format(trainset[0].shape[0], testset[0].shape[0],r))

        for p in range(numparams):
            params = parameters[p]
            for learnername, learner in classalgs.items():
                # Reset learner for new parameters
                learner.reset(params)
                print('Running learner = ' + learnername + ' on parameters ' + str(learner.getparams()))
    	    	# Train model
                learner.learn(trainset[0], trainset[1])
                # Test model
                predictions = learner.predict(testset[0])
                error = geterror(testset[1], predictions)
import import_files

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from dataloader import load_susy
from dataloader import splitdataset

#Load the data
train,test = load_susy(2000,1000)
X_train, y_train = train
X_test, y_test = test

"""
Implementation of Naive Bayes Classifier.

Attributes: class_prior - Prior probabilities.
            class_count - unique counts of classes.
            mu_ml = Maximum Likelihood of mean parameter. shape = (#classes,#features)
            sigma_sq_ml = Maximum Likelihood of variance parameter. shape = (#classes,#features)
            classes = unique classes.
            remove_ones = boolean value to include features of one.
"""

class NaiveBayes():
    """ Gaussian naive Bayes """

    # Constructor
    def __init__( self, remove_ones = True ):
        self.class_prior = None