public class LASSORegression extends BaseRegression
For now, this uses Forward Stepwise Regression.
Usage: -maxterms <terms>
| Modifier and Type | Field and Description |
|---|---|
protected java.util.List<java.lang.Double> |
Coefficients
Coefficients for linear model
|
protected double |
Intercept
Intercept of the linear model
|
protected int |
MaxNumberTerms
Maximum number of features allowed in model (-1 is unlimited)
|
protected java.util.List<java.lang.String> |
TermNames
Names of terms used in the model
|
protected java.util.List<java.lang.Integer> |
Terms
Terms used in the model
|
AttributeSelector, trained, TrainingStats, validated, ValidationStats| Constructor and Description |
|---|
LASSORegression() |
| Modifier and Type | Method and Description |
|---|---|
BaseRegression |
clone() |
protected int |
findMaxCorrelation(double[][] features,
double[] objective,
boolean[] isSearchable)
Finds the feature with the maximum correlation out of all possible candidates
|
static double |
getMAE(double[] residuals)
Get Mean Absolute Error (MAE) given residuals
|
int |
getNFittingParameters()
Number of fitting parameters in a model.
|
double[] |
getResidual(double[][] x,
double[] y)
Determines the residuals from a model
|
static double[] |
linearFit(double[] x,
double[] y,
boolean intercept)
Find the best linear fit
|
protected java.lang.String |
printModel_protected()
Internal method that handles printing the model as a string.
|
java.util.List<java.lang.String> |
printModelDescriptionDetails(boolean htmlFormat)
Print details of the model.
|
java.lang.String |
printUsage()
Print out required format for options.
|
void |
run_protected(Dataset TrainData)
Run a model without checking if stuff is trained (use carefully)
|
double[] |
runModel(double[][] x)
Runs the model contained within object
|
void |
setMaxNumberTerms(int MaxNumberTerms) |
void |
setOptions(java.util.List OptionsObj)
Set any options for this object.
|
protected void |
train_protected(Dataset TrainData)
Train a model without evaluating performance
|
doRobustRegression, getRobustRegressionQ, robustTraining, runCommand, setRobustRegressionQabout, crossValidate, crossValidate, crossValidate, done, externallyValidate, getAttributeSelector, getCitations, getFilter, getTrainTime, getValidationMethod, handleSetCommand, isTrained, isValidated, loadState, printCommand, printDescription, printModel, resetModel, run, saveCommand, saveState, setAttributeSelector, setComponent, setFilter, train, trainprotected int MaxNumberTerms
protected java.util.List<java.lang.Integer> Terms
protected java.util.List<java.lang.String> TermNames
protected java.util.List<java.lang.Double> Coefficients
protected double Intercept
public BaseRegression clone()
clone in class BaseRegressionpublic void setOptions(java.util.List OptionsObj)
throws java.lang.Exception
OptionsOptionsObj - Array of options as Objects - can be nulljava.lang.Exception - if problem with inputspublic java.lang.String printUsage()
Optionspublic void setMaxNumberTerms(int MaxNumberTerms)
protected void train_protected(Dataset TrainData)
BaseModeltrain_protected in class BaseModelTrainData - Training datapublic int getNFittingParameters()
AbstractRegressionModelpublic void run_protected(Dataset TrainData)
BaseModelrun_protected in class BaseModelTrainData - Training dataprotected int findMaxCorrelation(double[][] features,
double[] objective,
boolean[] isSearchable)
features - Features for each measurementobjective - Objective function for each measurementisSearchable - List of which features are searchablepublic static double[] linearFit(double[] x,
double[] y,
boolean intercept)
x - Independent variabley - Dependent variableintercept - Whether to fit an interceptpublic double[] getResidual(double[][] x,
double[] y)
x - Observation matrixy - Data to compare against modely - runModel(x)public double[] runModel(double[][] x)
x - Observation matrixpublic static double getMAE(double[] residuals)
residuals - Error between model and reality for each entryprotected java.lang.String printModel_protected()
BaseModelprintModel_protected in class BaseModelpublic java.util.List<java.lang.String> printModelDescriptionDetails(boolean htmlFormat)
BaseModelBaseModel.printDescription(boolean).
Implementation note: No not add indentation for details. That is handled
by BaseModel.printDescription(boolean). You should also call the super
operation to get the Normalizer and Attribute selector settings
printModelDescriptionDetails in class BaseModelhtmlFormat - Whether to use HTML format