Note

Go to the end to download the full example code. or to run this example in your browser via JupyterLite or Binder

Logistic function#

Shown in the plot is how the logistic regression would, in this synthetic dataset, classify values as either 0 or 1, i.e. class one or two, using the logistic curve.

plot logistic
# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause
importmatplotlib.pyplotasplt
importnumpyasnp
fromscipy.specialimport expit
fromsklearn.linear_modelimport LinearRegression , LogisticRegression
# Generate a toy dataset, it's just a straight line with some Gaussian noise:
xmin, xmax = -5, 5
n_samples = 100
np.random.seed (0)
X = np.random.normal (size=n_samples)
y = (X > 0).astype(float)
X[X > 0] *= 4
X += 0.3 * np.random.normal (size=n_samples)
X = X[:, np.newaxis ]
# Fit the classifier
clf = LogisticRegression (C=1e5)
clf.fit(X, y)
# and plot the result
plt.figure (1, figsize=(4, 3))
plt.clf ()
plt.scatter (X.ravel(), y, label="example data", color="black", zorder=20)
X_test = np.linspace (-5, 10, 300)
loss = expit (X_test * clf.coef_ + clf.intercept_).ravel()
plt.plot (X_test, loss, label="Logistic Regression Model", color="red", linewidth=3)
ols = LinearRegression ()
ols.fit(X, y)
plt.plot (
 X_test,
 ols.coef_ * X_test + ols.intercept_,
 label="Linear Regression Model",
 linewidth=1,
)
plt.axhline (0.5, color=".5")
plt.ylabel ("y")
plt.xlabel ("X")
plt.xticks (range(-5, 10))
plt.yticks ([0, 0.5, 1])
plt.ylim (-0.25, 1.25)
plt.xlim (-4, 10)
plt.legend (
 loc="lower right",
 fontsize="small",
)
plt.tight_layout ()
plt.show ()

Total running time of the script: (0 minutes 0.108 seconds)

Related examples

Ordinary Least Squares and Ridge Regression

Ordinary Least Squares and Ridge Regression

Restricted Boltzmann Machine features for digit classification

Restricted Boltzmann Machine features for digit classification

Non-negative least squares

Non-negative least squares

Robust linear estimator fitting

Robust linear estimator fitting

Gallery generated by Sphinx-Gallery