SKLearner Home | About | Contact | Examples

Scikit-Learn FixedThresholdClassifier Model

FixedThresholdClassifier is a classifier designed to classify data based on a specified probability threshold.

It can be particularly useful when you need precise control over the decision boundary in binary classification tasks.

The primary hyperparameters are estimator that defines the base classification model and threshold, which defines the decision boundary for the positive class. Common values range from 0.1 to 0.9, depending on the problem.

This classifier is appropriate for binary classification problems.

from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.model_selection import FixedThresholdClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# generate binary classification dataset
X, y = make_classification(n_samples=100, n_features=5, n_classes=2, random_state=1)

# split into train and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)

# create model
model = FixedThresholdClassifier(LogisticRegression(), threshold=0.7)

# fit model
model.fit(X_train, y_train)

# evaluate model
yhat = model.predict(X_test)
acc = accuracy_score(y_test, yhat)
print('Accuracy: %.3f' % acc)

# make a prediction
row = [[-1.10325445, -0.49821356, -0.05962247, -0.89224592, -0.70158632]]
yhat = model.predict(row)
print('Predicted: %d' % yhat[0])

Running the example gives an output like:

Accuracy: 0.900
Predicted: 0
  1. Generate a synthetic binary classification dataset using make_classification(), specifying the number of samples and features.

  2. Split the dataset into training and testing sets using train_test_split().

  3. Create an instance of the FixedThresholdClassifier, specifying the base classifier and decision threshold.

  4. Fit the classifier on the training data using the fit() method.

  5. Evaluate the classifier’s performance by predicting on the test set and calculating the accuracy score.

  6. Make a single prediction using a sample row of data with the predict() method.

This example demonstrates how to set up and use a FixedThresholdClassifier for binary classification tasks, allowing for precise control over the classification threshold. The model is fit on training data and can be used to make predictions on new data.



See Also