lbl= "SelfLearning QDA:" model = SelfLearningModel(WQDA()) if i == 2: lbl= "CPLE(pessimistic) QDA:" model = CPLELearningModel(WQDA(), predict_from_probabilities=True) elif i == 3: lbl= "CPLE(optimistic) QDA:" CPLELearningModel.pessimistic = False model = CPLELearningModel(WQDA(), predict_from_probabilities=True) model.fit(Xs, ys) print "" print lbl print "Model training time: ", round(time.time()-t1, 3) # predict, and evaluate pred = model.predict(Xs) acc = np.mean(pred==ytrue) print "accuracy:", round(acc, 3) # plot probabilities [minx, maxx] = [np.min(Xs[:, 0]), np.max(Xs[:, 0])] [miny, maxy] = [np.min(Xs[:, 1]), np.max(Xs[:, 1])] gridsize = 100 xx = np.linspace(minx, maxx, gridsize) yy = np.linspace(miny, maxy, gridsize).T xx, yy = np.meshgrid(xx, yy) Xfull = np.c_[xx.ravel(), yy.ravel()] probas = model.predict_proba(Xfull) plt.imshow(probas[:, 1].reshape((gridsize, gridsize)), extent=(minx, maxx, miny, maxy), origin='lower')
lbl = "SelfLearning QDA:" model = SelfLearningModel(WQDA()) if i == 2: lbl = "CPLE(pessimistic) QDA:" model = CPLELearningModel(WQDA()) elif i == 3: lbl = "CPLE(optimistic) QDA:" CPLELearningModel.pessimistic = False model = CPLELearningModel(WQDA()) model.fit(Xs, ys) print "" print lbl print "Model training time: ", round(time.time() - t1, 3) # predict, and evaluate pred = model.predict(Xs) acc = np.mean(pred == ytrue) print "accuracy:", round(acc, 3) # plot probabilities [minx, maxx] = [np.min(Xs[:, 0]), np.max(Xs[:, 0])] [miny, maxy] = [np.min(Xs[:, 1]), np.max(Xs[:, 1])] gridsize = 100 xx = np.linspace(minx, maxx, gridsize) yy = np.linspace(miny, maxy, gridsize).T xx, yy = np.meshgrid(xx, yy) Xfull = np.c_[xx.ravel(), yy.ravel()] probas = model.predict_proba(Xfull) plt.imshow(probas[:, 1].reshape((gridsize, gridsize)), extent=(minx, maxx, miny, maxy), origin="lower")