Skip to main content

Scikit-Learn

Scikit-Learn (sklearn) is the premier general-purpose machine learning library in Python. It features various classification, regression and clustering algorithms, and is designed to interoperate with [NumPy](../Ch-5 Numerical-Computing/NumPy.mdx) and SciPy.

Key Features​

  • Supervised Learning: Linear Regression, SVMs, Random Forests, Gradient Boosting.
  • Unsupervised Learning: K-Means, PCA, t-SNE.
  • Model Selection & Evaluation: Cross-validation, Grid Search, Metrics (Accuracy, F1, MSE).
  • Preprocessing: Scaling, Encoding, Imputation.

Basic Usage​

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import numpy as np

# Dummy data
X = np.random.rand(100, 5) # 100 samples, 5 features
y = np.random.randint(0, 2, 100) # Binary target

# 1. Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 2. Initialize model
model = RandomForestClassifier(n_estimators=100)

# 3. Train model
model.fit(X_train, y_train)

# 4. Predict
predictions = model.predict(X_test)

# 5. Evaluate
print(f"Accuracy: {accuracy_score(y_test, predictions)}")

Why it is essential for AI​

While Deep Learning is popular, classical ML algorithms are often faster, more interpretable, and require less data. Sklearn provides a unified, beautiful API that makes building ML pipelines incredibly straightforward.