Running All Regression Models¶
If you are having trouble picking a model (or are simply curious about how each model compares), ManufacturingNet provides a simple way to train all supported regression models on one dataset.
ManufacturingNet.models’ AllRegressionModels class trains the following models on your dataset with default parameters:
Linear Regression
Random Forest
SVR
NuSVR
LinearSVR
XGBoost
AllRegressionModels(attributes=None, labels=None)
Parameters¶
When initializing an AllRegressionModels object, the following parameters need to be passed:
attributes (numpy array, default=None): A numpy array of the values of the independent variable(s).
labels (numpy array, default=None): A numpy array of the values of the dependent variable.
When the run() method is called, the following parameters can be modified:
test_size (float, default=0.25): The proportion of the dataset to be used for testing the model; the proportion of the dataset to be used for training will be the complement of test_size.
verbose (boolean, default=False): Determines whether logs are outputted during model training and testing.
Note: All model-specific parameters are kept as their defaults for simplicity. For more control over each model, use their corresponding classes in ManufacturingNet.models.
Attributes¶
linear_regression (model): The underlying linear regression model.
random_forest (model): The underlying random forest model.
SVR (model): The underlying SVR model.
nu_SVR (model): The underlying NuSVR model.
linear_SVR (model): The underlying LinearSVR model.
XGB_regressor (model): The underlying XGBoost model.
Methods¶
run(): Prompts for parameter input, instantiates and runs all of the above models, and outputs their results. For each model, the coefficient of determination and execution time are reported.
Accessor Methods¶
get_attributes(): Returns attributes.
get_labels(): Returns labels.
Note: If attributes wasn’t passed in during initialization, get_attributes() will return None. Likewise, if labels wasn’t passed in during initialization, get_labels() will return None.
get_all_regression_models(): Returns a list of all of the regression models.
get_linear_regression(): Returns linear_regression.
get_random_forest(): Returns random_forest.
get_SVR(): Returns SVR.
get_nu_SVR(): Returns nu_SVR.
get_linear_SVR(): Returns linear_SVR.
get_XGB_regressor(): Returns XGB_regressor.
Note: If run() hasn’t successfully executed yet, the above accessor methods will return None.
Modifier Methods¶
set_attributes(new_attributes=None): Sets attributes to new_attributes. If new_attributes isn’t specified, attributes is set to None.
set_labels(new_labels=None): Sets labels to new_labels. If new_labels isn’t specified, labels is set to None.
Example Usage¶
1from ManufacturingNet.models import AllRegressionModels
2from pandas import read_csv
3
4dataset = read_csv('/path/to/dataset.csv')
5dataset = dataset.to_numpy()
6attributes = dataset[:, 0:5] # Columns 1-5 contain our features
7labels = dataset[:, 5] # Column 6 contains our dependent variable
8all_regression_models = AllRegressionModels(attributes, labels)
9all_regression_models.run() # This will trigger the command-line interface for parameter input
10 # And output each model's coefficient of determination and execution time