-
-
Notifications
You must be signed in to change notification settings - Fork 1k
/
least_angle_regression.sg
42 lines (35 loc) · 1.42 KB
/
least_angle_regression.sg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
File f_feats_train = csv_file("../../data/regression_1d_linear_features_train.dat")
File f_feats_test = csv_file("../../data/regression_1d_linear_features_test.dat")
File f_labels_train = csv_file("../../data/regression_1d_linear_labels_train.dat")
File f_labels_test = csv_file("../../data/regression_1d_linear_labels_test.dat")
#![create_features]
Features features_train = features(f_feats_train)
Features features_test = features(f_feats_test)
Labels labels_train = labels(f_labels_train)
Labels labels_test = labels(f_labels_test)
#![create_features]
#![preprocess_features]
PruneVarSubMean SubMean()
NormOne Normalize()
SubMean.init(features_train)
SubMean.apply_to_feature_matrix(features_train)
SubMean.apply_to_feature_matrix(features_test)
Normalize.init(features_train)
Normalize.apply_to_feature_matrix(features_train)
Normalize.apply_to_feature_matrix(features_test)
#![preprocess_features]
#![create_instance]
Machine lars = machine("LeastAngleRegression", labels=labels_train, lasso=False, max_l1_norm=0.01)
#![create_instance]
#![train_and_apply]
lars.train(features_train)
Labels labels_predict = lars.apply(features_test)
#[!extract_w]
RealVector weights = lars.get_real_vector("w")
#[!extract_w]
#![evaluate_error]
Evaluation eval = evaluation("MeanSquaredError")
real mse = eval.evaluate(labels_predict, labels_test)
#![evaluate_error]
# integration testing variables
RealVector output = labels_predict.get_real_vector("labels")