Skip to content
This repository was archived by the owner on Jan 11, 2026. It is now read-only.

Commit b1862be

Browse files
ml: added model print function to linear regression and multiple regression
1 parent e3ad27e commit b1862be

4 files changed

Lines changed: 20 additions & 3 deletions

File tree

include/ml/linregress.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@ Score/test the linear regression model based on known x and y values
5555
*/
5656
double linregress_score(LinearRegressionModel *model, double *x_test, double *y_test, size_t len);
5757

58+
/*
59+
Display the model details
60+
61+
fmt - the format string used to print the double values
62+
*/
63+
void linregress_print(LinearRegressionModel *model);
64+
5865
LinearRegressionModel *linregress_fit_mat(LinearRegressionModel *model, Mat *X, Mat *Y);
5966

6067
double linregress_score_mat(LinearRegressionModel *model, Mat *x_test, Mat *y_test);

include/ml/multiregress.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ Predict new values with the multiple regression model
5555
double mlinregress_predict(MLinearRegressionModel *model, double *x_vals, size_t len);
5656

5757
/*
58-
Score/test the multiple linear regression model based on known x and y values
58+
Display the model details
59+
60+
fmt - the format string used to print the double values
5961
*/
60-
// TODO: score the model
62+
void mlinregress_print(MLinearRegressionModel *model);
6163

6264
#endif

src/ml/linregress.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,3 +81,7 @@ double linregress_score_mat(LinearRegressionModel *model, Mat *x_test, Mat *y_te
8181

8282
return linregress_score(model, x_test->mat->data, y_test->mat->data, x_test->rows);
8383
}
84+
85+
void linregress_print(LinearRegressionModel *model) {
86+
printf("LinearRegressionModel(slope: %.7lf, intercept: %.7lf, rvalue: %.7lf)\n", model->slope, model->intercept, model->rvalue);
87+
}

src/ml/multiregress.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,8 @@ double mlinregress_predict(MLinearRegressionModel *model, double *x_vals, size_t
8787
return pred_val;
8888
}
8989

90-
// TODO: Score the model
90+
void mlinregress_print(MLinearRegressionModel *model) {
91+
printf("MLinearRegressionModel(intercept: %lf, coefs: %p)\n", model->intercept, model->coefs);
92+
printf("coefs\n");
93+
mat_printp(model->coefs, 7);
94+
}

0 commit comments

Comments
 (0)