Regressor
Bases: SupervisedModel
, ABC
A model for regression tasks.
Methods:
Name | Description |
---|---|
coefficient_of_determination |
Compute the coefficient of determination (R²) of the regressor on the given data. |
fit |
Create a copy of this model and fit it with the given training data. |
fit_by_exhaustive_search |
Use the hyperparameter choices to create multiple models and fit them. |
get_feature_names |
Return the names of the feature columns. |
get_features_schema |
Return the schema of the feature columns. |
get_target_name |
Return the name of the target column. |
get_target_type |
Return the type of the target column. |
mean_absolute_error |
Compute the mean absolute error (MAE) of the regressor on the given data. |
mean_directional_accuracy |
Compute the mean directional accuracy (MDA) of the regressor on the given data. |
mean_squared_error |
Compute the mean squared error (MSE) of the regressor on the given data. |
median_absolute_deviation |
Compute the median absolute deviation (MAD) of the regressor on the given data. |
predict |
Predict the target values on the given dataset. |
summarize_metrics |
Summarize the regressor's metrics on the given data. |
Attributes:
Name | Type | Description |
---|---|---|
is_fitted |
bool
|
Whether the model is fitted. |
Source code in src/safeds/ml/classical/regression/_regressor.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 |
|
is_fitted
¶
Whether the model is fitted.
coefficient_of_determination
¶
Compute the coefficient of determination (R²) of the regressor on the given data.
The coefficient of determination compares the regressor's predictions to another model that always predicts the mean of the target values. It is a measure of how well the regressor explains the variance in the target values.
The higher the coefficient of determination, the better the regressor. Results range from negative infinity to 1.0. You can interpret the coefficient of determination as follows:
R² | Interpretation |
---|---|
1.0 | The model perfectly predicts the target values. Did you overfit? |
(0.0, 1.0) | The model is better than predicting the mean of the target values. You should be here. |
0.0 | The model is as good as predicting the mean of the target values. Try something else. |
(-∞, 0.0) | The model is worse than predicting the mean of the target values. Something is very wrong. |
Notes:
- The model must be fitted.
- Some other libraries call this metric
r2_score
.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set
|
Table | TabularDataset
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
coefficient_of_determination |
float
|
The coefficient of determination of the regressor. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/regression/_regressor.py
fit
¶
Create a copy of this model and fit it with the given training data.
Note: This model is not modified.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
training_set
|
TabularDataset
|
The training data containing the features and target. |
required |
Returns:
Name | Type | Description |
---|---|---|
fitted_model |
Self
|
The fitted model. |
Raises:
Type | Description |
---|---|
PlainTableError
|
If a table is passed instead of a TabularDataset. |
DatasetMissesDataError
|
If the given training set contains no data. |
FittingWithChoiceError
|
When trying to call this method on a model with hyperparameter choices. |
LearningError
|
If the training data contains invalid values or if the training failed. |
Source code in src/safeds/ml/classical/_supervised_model.py
fit_by_exhaustive_search
¶
Use the hyperparameter choices to create multiple models and fit them.
Note: This model is not modified.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
training_set
|
TabularDataset
|
The training data containing the features and target. |
required |
optimization_metric
|
RegressorMetric
|
The metric that should be used for determining the performance of a model. |
required |
Returns:
Name | Type | Description |
---|---|---|
best_model |
Self
|
The model that performed the best out of all possible models given the Choices of hyperparameters. |
Raises:
Type | Description |
---|---|
PlainTableError
|
If a table is passed instead of a TabularDataset. |
DatasetMissesDataError
|
If the given training set contains no data. |
FittingWithoutChoiceError
|
When trying to call this method on a model without hyperparameter choices. |
LearningError
|
If the training data contains invalid values or if the training failed. |
Source code in src/safeds/ml/classical/regression/_regressor.py
259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 |
|
get_feature_names
¶
Return the names of the feature columns.
Note: The model must be fitted.
Returns:
Name | Type | Description |
---|---|---|
feature_names |
list[str]
|
The names of the feature columns. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the model has not been fitted yet. |
Source code in src/safeds/ml/classical/_supervised_model.py
get_features_schema
¶
Return the schema of the feature columns.
Note: The model must be fitted.
Returns:
Name | Type | Description |
---|---|---|
feature_schema |
Schema
|
The schema of the feature columns. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the model has not been fitted yet. |
Source code in src/safeds/ml/classical/_supervised_model.py
get_target_name
¶
Return the name of the target column.
Note: The model must be fitted.
Returns:
Name | Type | Description |
---|---|---|
target_name |
str
|
The name of the target column. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the model has not been fitted yet. |
Source code in src/safeds/ml/classical/_supervised_model.py
get_target_type
¶
Return the type of the target column.
Note: The model must be fitted.
Returns:
Name | Type | Description |
---|---|---|
target_type |
ColumnType
|
The type of the target column. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the model has not been fitted yet. |
Source code in src/safeds/ml/classical/_supervised_model.py
mean_absolute_error
¶
Compute the mean absolute error (MAE) of the regressor on the given data.
The mean absolute error is the average of the absolute differences between the predicted and expected target values. The lower the mean absolute error, the better the regressor. Results range from 0.0 to positive infinity.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set
|
Table | TabularDataset
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
mean_absolute_error |
float
|
The mean absolute error of the regressor. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/regression/_regressor.py
mean_directional_accuracy
¶
Compute the mean directional accuracy (MDA) of the regressor on the given data.
This metric compares two consecutive target values and checks if the predicted direction (down/unchanged/up) matches the expected direction. The mean directional accuracy is the proportion of correctly predicted directions. The higher the mean directional accuracy, the better the regressor. Results range from 0.0 to 1.0.
This metric is useful for time series data, where the order of the target values has a meaning. It is not useful
for other types of data. Because of this, it is not included in the summarize_metrics
method.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set
|
Table | TabularDataset
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
mean_directional_accuracy |
float
|
The mean directional accuracy of the regressor. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/regression/_regressor.py
mean_squared_error
¶
Compute the mean squared error (MSE) of the regressor on the given data.
The mean squared error is the average of the squared differences between the predicted and expected target values. The lower the mean squared error, the better the regressor. Results range from 0.0 to positive infinity.
NoteS:
- The model must be fitted.
- To get the root mean squared error (RMSE), take the square root of the result.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set
|
Table | TabularDataset
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
mean_squared_error |
float
|
The mean squared error of the regressor. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/regression/_regressor.py
median_absolute_deviation
¶
Compute the median absolute deviation (MAD) of the regressor on the given data.
The median absolute deviation is the median of the absolute differences between the predicted and expected target values. The lower the median absolute deviation, the better the regressor. Results range from 0.0 to positive infinity.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set
|
Table | TabularDataset
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
median_absolute_deviation |
float
|
The median absolute deviation of the regressor. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/regression/_regressor.py
predict
¶
Predict the target values on the given dataset.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset
|
Table | TabularDataset
|
The dataset containing at least the features. |
required |
Returns:
Name | Type | Description |
---|---|---|
prediction |
TabularDataset
|
The given dataset with an additional column for the predicted target values. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the model has not been fitted yet. |
DatasetMissesFeaturesError
|
If the dataset misses feature columns. |
PredictionError
|
If predicting with the given dataset failed. |
Source code in src/safeds/ml/classical/_supervised_model.py
summarize_metrics
¶
Summarize the regressor's metrics on the given data.
Note: The model must be fitted.
API Stability
Do not rely on the exact output of this method. In future versions, we may change the displayed metrics without prior notice.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set
|
Table | TabularDataset
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
metrics |
Table
|
A table containing the regressor's metrics. |
Raises:
Type | Description |
---|---|
NotFittedError
|
If the classifier has not been fitted yet. |