Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
del parameters[0]
parameters += ["class_weights=" + info[1].split("class_weights=")[1].split("'")[1]]
elif (model_type != "svd"):
parameters = info[1].split(",")
if (model_type != "svd"):
parameters = [item.split("=") for item in parameters]
parameters_dict = {}
for item in parameters:
parameters_dict[item[0]] = item[1]
info = info[0]
for elem in parameters_dict:
if type(parameters_dict[elem]) == str:
parameters_dict[elem] = parameters_dict[elem].replace("'", "")
if (model_type == "rf_regressor"):
from verticapy.learn.ensemble import RandomForestRegressor
model = RandomForestRegressor(name, cursor, int(parameters_dict['ntree']), int(parameters_dict['mtry']), int(parameters_dict['max_breadth']), float(parameters_dict['sampling_size']), int(parameters_dict['max_depth']), int(parameters_dict['min_leaf_size']), float(parameters_dict['min_info_gain']), int(parameters_dict['nbins']))
elif (model_type == "rf_classifier"):
from verticapy.learn.ensemble import RandomForestClassifier
model = RandomForestClassifier(name, cursor, int(parameters_dict['ntree']), int(parameters_dict['mtry']), int(parameters_dict['max_breadth']), float(parameters_dict['sampling_size']), int(parameters_dict['max_depth']), int(parameters_dict['min_leaf_size']), float(parameters_dict['min_info_gain']), int(parameters_dict['nbins']))
elif (model_type == "logistic_reg"):
from verticapy.learn.linear_model import LogisticRegression
model = LogisticRegression(name, cursor, parameters_dict['regularization'], float(parameters_dict['epsilon']), float(parameters_dict['lambda']), int(parameters_dict['max_iterations']), parameters_dict['optimizer'], float(parameters_dict['alpha']))
elif (model_type == "linear_reg"):
from verticapy.learn.linear_model import ElasticNet
model = ElasticNet(name, cursor, parameters_dict['regularization'], float(parameters_dict['epsilon']), float(parameters_dict['lambda']), int(parameters_dict['max_iterations']), parameters_dict['optimizer'], float(parameters_dict['alpha']))
elif (model_type == "naive_bayes"):
from verticapy.learn.naive_bayes import MultinomialNB
model = MultinomialNB(name, cursor, float(parameters_dict['alpha']))
elif (model_type == "svm_regressor"):
from verticapy.learn.svm import LinearSVR
model = LinearSVR(name, cursor, float(parameters_dict['epsilon']), float(parameters_dict['C']), True, float(parameters_dict['intercept_scaling']), parameters_dict['intercept_mode'], float(parameters_dict['error_tolerance']), int(parameters_dict['max_iterations']))
elif (model_type == "svm_classifier"):
The maximum number of leaf nodes a tree in the forest can have, an integer
between 1 and 1e9, inclusive.
max_depth: int, optional
The maximum depth for growing each tree, an integer between 1 and 100, inclusive.
min_samples_leaf: int, optional
The minimum number of samples each branch must have after splitting a node, an
integer between 1 and 1e6, inclusive. A split that causes fewer remaining samples
is discarded.
min_info_gain: float, optional
The minimum threshold for including a split, a float between 0.0 and 1.0, inclusive.
A split with information gain less than this threshold is discarded.
nbins: int, optional
The number of bins to use for continuous features, an integer between 2 and 1000,
inclusive.
"""
return RandomForestRegressor(name = name,
cursor = cursor,
n_estimators = 1,
max_features = max_features,
max_leaf_nodes = max_leaf_nodes,
sample = 1.0,
max_depth = max_depth,
min_samples_leaf = min_samples_leaf,
min_info_gain = min_info_gain,
nbins = nbins)
#---#
def DummyTreeRegressor(name: str,
cursor = None):
"""
---------------------------------------------------------------------------
Dummy Tree Regressor. This regressor learns by heart the training data.
=> very depth RandomForestRegressor of one tree using all the data.
Parameters
----------
name: str
Name of the the model. The model will be stored in the DB.
cursor: DBcursor, optional
Vertica DB cursor.
"""
return RandomForestRegressor(name = name,
cursor = cursor,
n_estimators = 1,
max_features = "max",
max_leaf_nodes = 1e9,
sample = 1.0,
max_depth = 100,
min_samples_leaf = 1,
min_info_gain = 0.0,
nbins = 1000)