Skip to content

Commit 0f0004c

Browse files
author
Algorithmica
authored
Add files via upload
1 parent c9cbe7e commit 0f0004c

File tree

3 files changed

+164
-0
lines changed

3 files changed

+164
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import sys
2+
path = 'I://New Folder//utils'
3+
sys.path.append(path)
4+
import common_utils as utils
5+
import regression_utils as rutils
6+
from sklearn import metrics, linear_model, svm, model_selection
7+
8+
scoring = metrics.make_scorer(rutils.rmse, greater_is_better=False)
9+
10+
#linear pattern in 2d
11+
X, y = rutils.generate_linear_synthetic_data_regression(n_samples=100, n_features=1,
12+
n_informative=1,
13+
noise = 200)
14+
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.1, random_state=1)
15+
rutils.plot_data_2d_regression(X_train, y_train)
16+
17+
linear_estimator = linear_model.LinearRegression()
18+
linear_grid = {'normalize': [False]}
19+
final_linear_model = utils.grid_search_best_model(linear_estimator, linear_grid, X_train, y_train, scoring = scoring)
20+
print(final_linear_model.coef_)
21+
print(final_linear_model.intercept_)
22+
rutils.plot_model_2d_regression(final_linear_model, X_train, y_train)
23+
rutils.regression_performance(final_linear_model, X_test, y_test)
24+
25+
lasso_estimator = linear_model.Lasso(max_iter=5000)
26+
lasso_grid = {'alpha': [0, 0.1, 0.5, 1.0, 10]}
27+
final_lasso_model = utils.grid_search_best_model(lasso_estimator, lasso_grid, X_train, y_train, scoring = scoring)
28+
print(final_lasso_model.coef_)
29+
print(final_lasso_model.intercept_)
30+
rutils.plot_model_2d_regression(final_lasso_model, X_train, y_train)
31+
rutils.regression_performance(final_lasso_model, X_test, y_test)
32+
33+
ridge_estimator = linear_model.Ridge()
34+
ridge_grid = {'alpha': [0, 0.1, 0.5, 1.0, 10]}
35+
final_ridge_model = utils.grid_search_best_model(ridge_estimator, ridge_grid, X_train, y_train, scoring = scoring)
36+
print(final_ridge_model.coef_)
37+
print(final_ridge_model.intercept_)
38+
rutils.plot_model_2d_regression(final_ridge_model, X_train, y_train)
39+
rutils.regression_performance(final_ridge_model, X_test, y_test)
40+
41+
svm_estimator = svm.LinearSVR()
42+
svm_grid = {'C':[0.1, 0.3, 0.5, 0.7, 1, 10] }
43+
final_svm_model = utils.grid_search_best_model(svm_estimator, svm_grid, X_train, y_train, scoring = scoring)
44+
print(final_svm_model.coef_)
45+
print(final_svm_model.intercept_)
46+
rutils.plot_model_2d_regression(final_svm_model, X_train, y_train)
47+
rutils.regression_performance(final_svm_model, X_test, y_test)
48+
49+
#linear pattern in 3d
50+
X, y = rutils.generate_linear_synthetic_data_regression(n_samples=200, n_features=2,
51+
n_informative=2,
52+
noise = 10)
53+
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.1, random_state=1)
54+
rutils.plot_data_3d_regression(X_train, y_train)
55+
56+
linear_estimator = linear_model.LinearRegression()
57+
linear_grid = {'normalize': [True, False]}
58+
final_linear_model = utils.grid_search_best_model(linear_estimator, linear_grid, X_train, y_train, scoring=scoring)
59+
print(final_linear_model.coef_)
60+
print(final_linear_model.intercept_)
61+
rutils.plot_model_3d_regression(final_linear_model, X_train, y_train)
62+
rutils.regression_performance(final_linear_model, X_test, y_test)
63+
64+
svm_estimator = svm.LinearSVR()
65+
svm_grid = {'C':[0.1, 0.3, 0.5, 0.7, 1, 10] }
66+
final_svm_model = utils.grid_search_best_model(svm_estimator, svm_grid, X_train, y_train, scoring = scoring)
67+
print(final_svm_model.coef_)
68+
print(final_svm_model.intercept_)
69+
rutils.plot_model_3d_regression(final_svm_model, X_train, y_train)
70+
rutils.regression_performance(final_svm_model, X_test, y_test)
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import sys
2+
path = 'I://New Folder//utils'
3+
sys.path.append(path)
4+
import common_utils as utils
5+
import regression_utils as rutils
6+
from sklearn import metrics, tree, neighbors, model_selection, ensemble
7+
8+
scoring = metrics.make_scorer(rutils.rmse, greater_is_better=False)
9+
10+
#linear pattern in 2d
11+
X, y = rutils.generate_nonlinear_synthetic_data_regression(n_samples=200, n_features=1)
12+
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.1, random_state=1)
13+
rutils.plot_data_2d_regression(X_train, y_train)
14+
15+
dt_estimator = tree.DecisionTreeRegressor()
16+
dt_grid = {'max_depth':list(range(1,9)) }
17+
final_dt_model = utils.grid_search_best_model(dt_estimator, dt_grid, X_train, y_train, scoring = scoring)
18+
rutils.plot_model_2d_regression(final_dt_model, X_train, y_train)
19+
rutils.regression_performance(final_dt_model, X_test, y_test)
20+
21+
knn_estimator = neighbors.KNeighborsRegressor()
22+
knn_grid = {'n_neighbors':list(range(1,21)), 'weights':['uniform', 'distance'] }
23+
final_knn_model = utils.grid_search_best_model(knn_estimator,knn_grid, X_train, y_train, scoring = scoring)
24+
rutils.plot_model_2d_regression(final_knn_model, X_train, y_train)
25+
rutils.regression_performance(final_knn_model, X_test, y_test)
26+
27+
rf_estimator = ensemble.RandomForestRegressor()
28+
rf_grid = {'n_estimators':list(range(10,200,50)), 'max_depth':list(range(3,6))}
29+
final_rf_model = utils.grid_search_best_model(rf_estimator, rf_grid, X_train, y_train, scoring = scoring)
30+
rutils.plot_model_2d_regression(final_rf_model, X_train, y_train)
31+
rutils.regression_performance(final_rf_model, X_test, y_test)
32+
33+
et_estimator = ensemble.ExtraTreesRegressor()
34+
et_grid = {'n_estimators':list(range(10,200,20)), 'max_depth':list(range(3,6))}
35+
final_et_model = utils.grid_search_best_model(et_estimator, et_grid, X_train, y_train, scoring = scoring)
36+
rutils.plot_model_2d_regression(final_et_model, X_train, y_train)
37+
rutils.regression_performance(final_et_model, X_test, y_test)
38+
39+
gb_estimator = ensemble.GradientBoostingRegressor()
40+
gb_grid = {'n_estimators':list(range(10,100,40)), 'max_depth':list(range(3,5)), 'learning_rate':[0.1,0.5]}
41+
final_gb_model = utils.grid_search_best_model(gb_estimator, gb_grid, X_train, y_train, scoring = scoring)
42+
rutils.plot_model_2d_regression(final_gb_model, X_train, y_train)
43+
rutils.regression_performance(final_gb_model, X_test, y_test)
44+
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import sys
2+
path = 'I://New Folder//utils'
3+
sys.path.append(path)
4+
import common_utils as utils
5+
import kernel_utils as kutils
6+
import regression_utils as rutils
7+
from sklearn import metrics, model_selection, linear_model, preprocessing, pipeline, kernel_ridge, svm
8+
9+
scoring = metrics.make_scorer(rutils.rmse, greater_is_better=False)
10+
11+
#linear pattern in 2d
12+
X, y = rutils.generate_nonlinear_synthetic_data_regression(n_samples=200, n_features=1)
13+
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.1, random_state=1)
14+
rutils.plot_data_2d_regression(X_train, y_train)
15+
16+
lr_pipeline = pipeline.Pipeline([
17+
('features', preprocessing.PolynomialFeatures()),
18+
('reg', linear_model.LinearRegression())
19+
])
20+
lr_pipeline_grid = {'features__degree':[2,3,5,10]}
21+
pipeline_object = utils.grid_search_best_model(lr_pipeline, lr_pipeline_grid, X_train, y_train, scoring = scoring)
22+
final_linear_model = pipeline_object.named_steps['reg']
23+
print(final_linear_model.coef_)
24+
print(final_linear_model.intercept_)
25+
rutils.plot_model_2d_regression(pipeline_object, X_train, y_train)
26+
rutils.regression_performance(pipeline_object, X_test, y_test)
27+
28+
lr_pipeline = pipeline.Pipeline([
29+
('features', kutils.GaussianFeatures() ),
30+
('reg', linear_model.LinearRegression())
31+
])
32+
lr_pipeline_grid = {'features__n_centres':[15, 20, 30, 36] }
33+
pipeline_object = utils.grid_search_best_model(lr_pipeline, lr_pipeline_grid, X_train, y_train, scoring = scoring)
34+
final_linear_model = pipeline_object.named_steps['reg']
35+
print(final_linear_model.coef_)
36+
print(final_linear_model.intercept_)
37+
rutils.plot_model_2d_regression(pipeline_object, X_train, y_train)
38+
rutils.regression_performance(pipeline_object, X_test, y_test)
39+
40+
kernel_lr = kernel_ridge.KernelRidge(kernel="rbf")
41+
kernel_lr_grid = {'alpha':[0.0001, 0.01, 0.05, 0.2, 0.5, 1], 'gamma':[0.01, 0.1, 1, 2, 3, 4, 5, 10]}
42+
final_kernel_lr_model = utils.grid_search_best_model(kernel_lr, kernel_lr_grid, X_train, y_train, scoring = scoring)
43+
rutils.plot_model_2d_regression(final_kernel_lr_model, X_train, y_train)
44+
rutils.regression_performance(final_kernel_lr_model, X_test, y_test)
45+
46+
kernel_svm = svm.SVR(kernel="rbf")
47+
kernel_svm_grid = {'C':[0.2, 0.5, 10, 20, 50, 100], 'gamma':[0.01, 0.1, 1, 2, 3, 4, 5, 10]}
48+
final_kernel_svm_model = utils.grid_search_best_model(kernel_svm, kernel_svm_grid, X_train, y_train, scoring = scoring)
49+
rutils.plot_model_2d_regression(final_kernel_svm_model, X_train, y_train)
50+
rutils.regression_performance(final_kernel_svm_model, X_test, y_test)

0 commit comments

Comments
 (0)