def train(feats, labels, T): ab_labels = transform_labels(labels) ft = feats.transpose() abs = [] for i in range(30): abs.append(AdaBoost(T, ft[i], ab_labels)) abs[-1].train() return abs
def main(): print "Init data" data = pd.read_csv(sys.argv[1]) columnas = data.columns.tolist() x = columnas[len(columnas) - 1] target = data[x] y = columnas[0:len(columnas) - 1] dataset = data[y] AdaBoostObject = AdaBoost.AdaBoost(dataset, target, 3, 'SAMME', 10) AdaBoostObject.trainingMethod() #curva roc #curveRocObject = createRocCurve.curveRoc(dataset, target, AdaBoostObject.model, 10, 'user', 'job', 'path') #curveRocObject.createCurveROC() #precision-recall curve #precisionCurve = createPrecisionRecallCurve.curvePrecision(dataset, target, AdaBoostObject.model, 10, 'user', 'job', 'path') #precisionCurve.plot_precision_and_recall_curve() #learning curve #learningCurveDemo = createLearningCurve.curveLearning(dataset, target, AdaBoostObject.model, 10, 'user', 'job', 'path') #learningCurveDemo.createLearningCurve() #confusion matrix data confusionMatrixDemo = createConfusionMatrix.confusionMatrix( dataset, target, AdaBoostObject.model, 10, 'user', 'job', 'path', ["Clinical", "No Clinical"]) confusionMatrixDemo.createConfusionMatrix() #bagginObject = Baggin.Baggin(dataset,target,3,10) #bagginObject.trainingMethod() #bernoulliNB = BernoulliNB.Bernoulli(dataset, target, 10) #bernoulliNB.trainingMethod() #decisionTreeObject = DecisionTree.DecisionTree(dataset, target, 'entropy', 'best',10) #decisionTreeObject.trainingMethod() #gaussianObject = GaussianNB.Gaussian(dataset, target, 10) #gaussianObject.trainingMethod() #gradientObject = Gradient.Gradient(dataset,target,3,10) #gradientObject.trainingMethod() #knnObect = knn.knn(dataset, target, 2, 'auto', 'minkowski', 10) #knnObect.trainingMethod() #MLPObject = MLP.MLP(dataset,target,'relu', 'sgd', 'adaptive', 1,1,1,10) #MLPObject.trainingMethod() #nuSVM = NuSVM.NuSVM(dataset,target,'poly',10) #nuSVM.trainingMethod() #rf = RandomForest.RandomForest(dataset,target,10,'gini',10) #rf.trainingMethod() #svm = SVM.SVM(dataset, target, 'poly', 10) #svm.trainingMethod() return 0
def TrainAndTestAdaBoostWeakBinPerceptron(): if len(digits) > 2: print "digits should be 2 digits in the case of Binary Perceptron" print "Running the AdaBoost with Weak Binary Perceptron" print "the digits it shall descriminate between: " + str( digits[0]) + "," + str(digits[1]) print "the label 1 will be given to the digit " + str(digits[0]) fullimg, lbl = rn.getData(digits, "training") binlbl = rn.BinaryLabels(lbl, digit) reducedList = rn.getReductionList(colnum, rownum) img = rn.ReduceSetDimension(reducedList, fullimg) adaboost = ab.AdaBoost(pr.Perceptron, img, binlbl, Twl, int(len(lbl) * alpha)) print "Error on the Training data: " + str( pr.TestClassifier(img, binlbl, adaboost) * 100.0) + "%" print "(out of " + str(len(binlbl)) + " samples)" print "Extracting the Testing Data" fullimg, lbl = rn.getData(digits, "testing") img = rn.ReduceSetDimension(reducedList, fullimg) binlbl = rn.BinaryLabels(lbl, digit) print "Error on the Testing data: " + str( pr.TestClassifier(img, binlbl, adaboost) * 100.0) + "%" print "(out of " + str(len(binlbl)) + " samples)"
def main(number_of_stages, set_pos, set_neg): trainer = AdaBoost(set_pos, set_neg, number_of_stages) classifiers = trainer.train_simple() image = cv2.imread("1.pgm") print(StrongClassifier(classifiers, pgm_simplifier(image)).get_result())
PP = PreProcess.PreProcess(data, n_buckets=10, func='boolean') #,swap_labels=True) data = PP.fit(data) testset = PP.fit(testset) # read weights weights = [] for w in range(6): tmp = [float(line.rstrip('\n')) for line in open('result/W' + str(w))] if len(tmp) != len(data[0]): continue weights.append(tmp) ab = AdaBoost.AdaBoost(weightVector=weights) ab.fit(data, data_labels) predictTrain = ab.predict(data) predictTest = ab.predict(testset) print("Accuracy for training set:") print(Stat.Accuracy(predictTrain, data_labels)) print("F1 score for training set:") print(Stat.F1_Score(predictTrain, data_labels)) print("Precision for training set:") print(Stat.Precision(predictTrain, data_labels)) print("Recall for training set:")
from AdaBoost import * from sys import argv x_train = argv[1] y_train = argv[2] x_test = argv[3] y_test = argv[4] T = int(argv[5]) feats = np.loadtxt(x_train, delimiter=',', dtype=np.float).transpose() labels = np.loadtxt(y_train, delimiter=',', dtype=np.int) ab_labels = np.array([1 if i == 1 else -1 for i in labels]) abs = [] for i in range(30): abs.append(AdaBoost(T, feats[i], ab_labels)) abs[-1].train() x_test = np.loadtxt(x_test, delimiter=',', dtype=np.float) y_test = np.loadtxt(y_test, delimiter=',', dtype=np.float) ab_y_test = np.array([1 if i == 1 else -1 for i in y_test]) predictions = [] for i in range(x_test.shape[0]): predictions.append( np.sign( np.sum([abs[j].eval(x_test[i][j]) for j in range(x_test.shape[1])]))) print("accuracy = {}".format( len(np.where(predictions == ab_y_test)[0]) / len(ab_y_test)))