def __init__(self): self.pca_randomForest = None self.pca_randomForest_norm = None self.pca_randomForest_pca = None self.rbm_lr_rbm = None self.rbm_lr = None self.texture_10_8 = None self.texture_5_10 = None self.texture_7_10 = None self.texture_9_8 = None self.texture_4_10 = None self.texture_20_8 = None self.ensemble_logistic_regression = None self.edge_pca_lr = None self.pca_edge_norm = None self.pca_edge_pca = None self.ip = ImagesProcessor() # Agregamos las predicciones aca porque no logramos pasarlas por referencia self.pca_randomForest_y_hat = None self.rbm_lr_y_hat = None self.texture_10_8_y_hat = None self.texture_5_10_y_hat = None
from Constants import Constants from ImagesProcessor import ImagesProcessor from sklearn.cross_validation import train_test_split from sklearn.grid_search import GridSearchCV from sklearn.metrics import classification_report import rlcompleter, readline readline.parse_and_bind('tab:complete') from sklearn.ensemble import RandomForestClassifier # Setear Dataset ip = ImagesProcessor('../imgs/test/medium/', training=True) # Setear Features X = ip.getTextureFeature(15, 15) # Setear Parametros para tunear tuned_parameters = [{'n_estimators': [300, 500, 850, 1000, 1500, 2000, 5000]}] # Setear Clasificador para tuner classifier = RandomForestClassifier() ############################################################# ######## DE ACA PARA ABAJO NO HACE FALTA TOCAR NADA ######### ############################################################# #scores = ['precision', 'recall'] scores = ['precision'] Y = ip.getImagesClass()
def printResult(names, y, confidence): with open('grupoEitanTincho.txt', 'wb') as f: for i in range(0, len(y)): item_id = names[i].split('.')[0] result = None if (y[i] == 0): result = 1 else: result = 0 conf = confidence[i][y[i]] f.write("%s,%d,%f\n" % (item_id, result, conf)) ip = ImagesProcessor() images, y = ip.getImages('../imgs/test/dataset/', size=None, training=False) # Esto es lo que hay que usar para predecir el resultado final if True: ensemble = Ensemble() ensemble.load() X_predictions = ensemble.predict_small(images) y_hat = ensemble.predict_big(X_predictions) confidence = ensemble.ensemble_logistic_regression.predict_proba( X_predictions) printResult(y, y_hat, confidence) #score(y_hat, y) # Esto es lo que hay que usar para calcular al regression lineal y gurdarla if False: