Implementation Example

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import classification_report, roc_auc_score
 
# Prepare data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
 
# Scale features (important!)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
 
# Binary classification
model = LogisticRegression(
    penalty='l2', # L2 regularization
    C=1.0, # Regularization strength
    solver='lbfgs', # Optimization algorithm
    max_iter=1000,
    random_state=42
)
 
# Train
model.fit(X_train_scaled, y_train)
 
# Predict probabilities
y_proba = model.predict_proba(X_test_scaled)[:, 1]
 
# Predict classes
y_pred = model.predict(X_test_scaled)
 
# Evaluate
print(classification_report(y_test, y_pred))
print(f"AUC-ROC: {roc_auc_score(y_test, y_proba):.3f}")
 
# Feature importance
feature_importance = model.coef_[0]

Multiclass Example

# Multiclass classification
model = LogisticRegression(
    multi_class='multinomial', # Softmax
    solver='lbfgs',
    max_iter=1000
)
 
model.fit(X_train_scaled, y_train)
y_pred = model.predict(X_test_scaled)