KNearestNeighborsClassifier
Bases:
,
K-nearest-neighbors classification.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
neighbor_count |
|
The number of neighbors to use for interpolation. Has to be greater than 0 (validated in the constructor) and
less than or equal to the sample size (validated when calling |
required |
Raises:
Type | Description |
---|---|
|
If |
Source code in src/safeds/ml/classical/classification/_k_nearest_neighbors_classifier.py
is_fitted: bool
¶
Whether the model is fitted.
neighbor_count: int | Choice[int]
¶
The number of neighbors used for interpolation.
accuracy
¶
Compute the accuracy of the classifier on the given data.
The accuracy is the proportion of predicted target values that were correct. The higher the accuracy, the better. Results range from 0.0 to 1.0.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set |
|
The validation or test set. |
required |
Returns:
Name | Type | Description |
---|---|---|
accuracy |
|
The classifier's accuracy. |
Raises:
Type | Description |
---|---|
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/classification/_classifier.py
f1_score
¶
Compute the classifier's F₁ score on the given data.
The F₁ score is the harmonic mean of precision and recall. The higher the F₁ score, the better the classifier. Results range from 0.0 to 1.0.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set |
|
The validation or test set. |
required |
positive_class |
|
The class to be considered positive. All other classes are considered negative. |
required |
Returns:
Name | Type | Description |
---|---|---|
f1_score |
|
The classifier's F₁ score. |
Raises:
Type | Description |
---|---|
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/classification/_classifier.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 |
|
The training data containing the features and target. |
required |
Returns:
Name | Type | Description |
---|---|---|
fitted_model |
|
The fitted model. |
Raises:
Type | Description |
---|---|
|
If a table is passed instead of a TabularDataset. |
|
If the given training set contains no data. |
|
When trying to call this method on a model with hyperparameter choices. |
|
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 |
|
The training data containing the features and target. |
required |
optimization_metric |
|
The metric that should be used for determining the performance of a model. |
required |
positive_class |
|
The class to be considered positive. All other classes are considered negative. Needs to be provided when choosing precision, f1score or recall as optimization metric. |
None
|
Returns:
Name | Type | Description |
---|---|---|
best_model |
|
The model that performed the best out of all possible models given the Choices of hyperparameters. |
Raises:
Type | Description |
---|---|
|
If a table is passed instead of a TabularDataset. |
|
If the given training set contains no data. |
|
When trying to call this method on a model without hyperparameter choices. |
|
If the training data contains invalid values or if the training failed. |
Source code in src/safeds/ml/classical/classification/_classifier.py
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 |
|
get_feature_names
¶
Return the names of the feature columns.
Note: The model must be fitted.
Returns:
Name | Type | Description |
---|---|---|
feature_names |
|
The names of the feature columns. |
Raises:
Type | Description |
---|---|
|
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 |
|
The schema of the feature columns. |
Raises:
Type | Description |
---|---|
|
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 |
|
The name of the target column. |
Raises:
Type | Description |
---|---|
|
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 |
|
The type of the target column. |
Raises:
Type | Description |
---|---|
|
If the model has not been fitted yet. |
Source code in src/safeds/ml/classical/_supervised_model.py
precision
¶
Compute the classifier's precision on the given data.
The precision is the proportion of positive predictions that were correct. The higher the precision, the better the classifier. Results range from 0.0 to 1.0.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set |
|
The validation or test set. |
required |
positive_class |
|
The class to be considered positive. All other classes are considered negative. |
required |
Returns:
Name | Type | Description |
---|---|---|
precision |
|
The classifier's precision. |
Raises:
Type | Description |
---|---|
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/classification/_classifier.py
predict
¶
Predict the target values on the given dataset.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset |
|
The dataset containing at least the features. |
required |
Returns:
Name | Type | Description |
---|---|---|
prediction |
|
The given dataset with an additional column for the predicted target values. |
Raises:
Type | Description |
---|---|
|
If the model has not been fitted yet. |
|
If the dataset misses feature columns. |
|
If predicting with the given dataset failed. |
Source code in src/safeds/ml/classical/_supervised_model.py
recall
¶
Compute the classifier's recall on the given data.
The recall is the proportion of actual positives that were predicted correctly. The higher the recall, the better the classifier. Results range from 0.0 to 1.0.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set |
|
The validation or test set. |
required |
positive_class |
|
The class to be considered positive. All other classes are considered negative. |
required |
Returns:
Name | Type | Description |
---|---|---|
recall |
|
The classifier's recall. |
Raises:
Type | Description |
---|---|
|
If the classifier has not been fitted yet. |
Source code in src/safeds/ml/classical/classification/_classifier.py
summarize_metrics
¶
Summarize the classifier's metrics on the given data.
Note: The model must be fitted.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
validation_or_test_set |
|
The validation or test set. |
required |
positive_class |
|
The class to be considered positive. All other classes are considered negative. |
required |
Returns:
Name | Type | Description |
---|---|---|
metrics |
|
A table containing the classifier's metrics. |
Raises:
Type | Description |
---|---|
|
If the classifier has not been fitted yet. |