print(trainX.shape) #logging.debug("Training set size: " + str(trainX.shape)) methodInd = 0 idx = sampleMethod(folds, trainX.shape[0]) bestLearner, cvGrid = learner.parallelModelSelect(trainX, trainY, idx, paramDict) predY = bestLearner.predict(testX) meanCvGrid[methodInd, :] += cvGrid meanErrors[methodInd] += bestLearner.getMetricMethod()(testY, predY) Cvs = [-5, (folds-1)*alpha, beta[j, sampleSizeInd, :]] #Now try penalisation methodInd = 1 resultsList = learner.parallelPen(trainX, trainY, idx, paramDict, Cvs) bestLearner, trainErrors, currentPenalties = resultsList[1] meanCvGrid[methodInd, :] += trainErrors + currentPenalties meanPenalties += currentPenalties meanTrainError += trainErrors predY = bestLearner.predict(testX) meanErrors[methodInd] += bestLearner.getMetricMethod()(testY, predY) #Corrected penalisation methodInd = 2 bestLearner, trainErrors, currentPenalties = resultsList[0] meanCvGrid[methodInd, :] += trainErrors + currentPenalties meanCorrectedPenalties += currentPenalties predY = bestLearner.predict(testX) meanErrors[methodInd] += bestLearner.getMetricMethod()(testY, predY)