def runMahCode(arff, shuffle=True, determ=0, training=False, lr=.1, quiet=False): mat = Arff(arff,label_count=1) data = mat.data[:,0:-1] labels = mat.data[:,-1:] PClass = PerceptronClassifier(lr=lr,shuffle=shuffle,deterministic=determ) Accuracy = 0.0 if (training): X_train, y_train, X_test, y_test = PerceptronClassifier.split_training(data,labels) PClass.fit(X_train,y_train) Accuracy = PClass.score(X_test,y_test) else: PClass.fit(data,labels) Accuracy = PClass.score(data,labels) if not quiet: print("Accuracy = [{:.5f}]".format(Accuracy)) print("Final Weights =",PClass.get_weights()) else: return Accuracy
# In[16]: mat = Arff("standardVoting.arff",label_count=1) data = mat.data[:,0:-1] labels = mat.data[:,-1:] test = [] train = [] iters = [] all_scores = [] print("Iterations | Training | Testing") for i in range(5): PClass = PerceptronClassifier(lr=.1,shuffle=True) Accuracy = 0.0 X_train, y_train, X_test, y_test = PerceptronClassifier.split_training(data,labels) trash, iterr, scores = PClass.fit(X_train,y_train, quiet=True) all_scores.append(scores) training = PClass.score(X_train,y_train) testing = PClass.score(X_test,y_test) print(" {:} | {:.4f} | {:.4f}".format(iterr, training, testing)) iters.append(iterr) test.append(testing) train.append(training) print(f"avg iter: {np.mean(iters)}") print(f"avg training: {np.mean(train)}") print(f"avg test: {np.mean(test)}") # In[17]: