}, { '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)
'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