# Fit logRegL1 model model = linear_model.logRegL1(L1_lambda=1.0, maxEvals=400, verbose=1) model.fit(XBin,yBin) print("\nlogRegL1 Training error %.3f" % utils.classification_error(model.predict(XBin),yBin)) print("logRegL1 Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) elif question == "2.3": # Load Binary and Multi -class data data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] # Fit logRegL0 model model = linear_model.logRegL0(L0_lambda=1.0, maxEvals=400) model.fit(XBin,yBin) print("\nTraining error %.3f" % utils.classification_error(model.predict(XBin),yBin)) print("Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) elif question == "2.5": data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] lrl2 = LogisticRegression(fit_intercept=False) lrl2.fit(XBin,yBin) print("\nTraining error %.3f" % utils.classification_error(lrl2.predict(XBin),yBin)) print("Validation error %.3f" % utils.classification_error(lrl2.predict(XBinValid), yBinValid))
model = linear_model.logRegL1(L1_lambda=1.0, maxEvals=400) model.fit(XBin, yBin) print("\nlogRegL1 Training error %.3f" % utils.classification_error(model.predict(XBin), yBin)) print("logRegL1 Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) elif question == "2.3": data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] model = linear_model.logRegL0(L0_lambda=0.00001, maxEvals=400) model.fit(XBin, yBin) print("\nTraining error %.3f" % utils.classification_error(model.predict(XBin), yBin)) print("Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) elif question == "2.5": data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] # TODO #L1-Regression with sklearn
XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] model = linear_model.logRegL1(lammy=1.0, maxEvals=400) model.fit(XBin,yBin) print("\nlogRegL1 Training error %.3f" % utils.classification_error(model.predict(XBin),yBin)) print("logRegL1 Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) elif question == "2.3": data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] model = linear_model.logRegL0(l0_lammy=1.0, maxEvals=400) model.fit(XBin,yBin) print("\nTraining error %.3f" % utils.classification_error(model.predict(XBin),yBin)) print("Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) elif question == "2.5": data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid'] data = utils.load_dataset("logisticData") XBin, yBin = data['X'], data['y'] XBinValid, yBinValid = data['Xvalid'], data['yvalid']
print("# nonZeros: %d" % (model.w != 0).sum()) if question == "1.2": # Fit logRegL1 model model = linear_model.logRegL1(lammy=1.0, maxEvals=400) model.fit(XBin, yBin) print("\nlogRegL1 Training error %.3f" % utils.classification_error(model.predict(XBin), yBin)) print("logRegL1 Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) if question == "1.3": # Fit logRegL0 model model = linear_model.logRegL0(L0=1.0, maxEvals=400) model.fit(XBin, yBin) print("\nTraining error %.3f" % utils.classification_error(model.predict(XBin), yBin)) print("Validation error %.3f" % utils.classification_error(model.predict(XBinValid), yBinValid)) print("# nonZeros: %d" % (model.w != 0).sum()) if question == "3": # Run Q3 given example - Fit One-vs-all Least Squares model = linear_model.leastSquaresClassifier() model.fit(XMulti, yMulti) print("leastSquaresClassifier Training error %.3f" % utils.classification_error(model.predict(XMulti), yMulti))