Skip to main content

SimpleLogisticModel

A simple logistic regression model implementation using gradient descent.

Constructor

SimpleLogisticModel(lr: float = 0.01, epochs: int = 600)
lr
float
default:"0.01"
Learning rate for gradient descent optimization
epochs
int
default:"600"
Number of training iterations

Attributes

weights
np.ndarray | None
Model weights including bias term. First element is bias, remaining are feature weights.
feature_columns
list[str] | None
Names of features used during training

Methods

fit

Train the logistic regression model on provided data.
fit(X: pd.DataFrame, y: pd.Series) -> SimpleLogisticModel
X
pd.DataFrame
required
Feature matrix with samples as rows and features as columns
y
pd.Series
required
Binary target labels (0 or 1)
return
SimpleLogisticModel
Returns self for method chaining

predict_proba

Predict class probabilities for samples.
predict_proba(X: pd.DataFrame) -> np.ndarray
X
pd.DataFrame
required
Feature matrix for prediction. Must contain all feature columns from training.
return
np.ndarray
Array of shape (n_samples, 2) with probabilities for class 0 and class 1

predict

Predict binary class labels for samples.
predict(X: pd.DataFrame) -> np.ndarray
X
pd.DataFrame
required
Feature matrix for prediction. Must contain all feature columns from training.
return
np.ndarray
Binary predictions (0 or 1) using 0.5 probability threshold

ModelArtifacts

Dataclass containing trained models and test data.
risk_model
SimpleLogisticModel
Trained model for risk prediction
outcome_model
SimpleLogisticModel
Trained model for outcome prediction
X_test
pd.DataFrame
Test features
y_risk_test
pd.Series
Test labels for risk target
y_outcome_test
pd.Series
Test labels for outcome target

train_predictive_models

Train risk and outcome prediction models with automatic preprocessing and train/test split.
train_predictive_models(
    df: pd.DataFrame,
    feature_cols: list[str],
    risk_target: str,
    outcome_target: str
) -> ModelArtifacts
df
pd.DataFrame
required
Input dataset containing features, hospital, gender, and target columns
feature_cols
list[str]
required
List of numerical feature column names to use for modeling
risk_target
str
required
Column name for risk categorization (checks for “appendicitis” or “pregnancy”)
outcome_target
str
required
Column name for outcome target (binarized as ‘t’ vs others)
return
ModelArtifacts
Contains trained risk and outcome models plus test data for evaluation

evaluate_predictive_models

Evaluate trained models on test data with multiple metrics.
evaluate_predictive_models(artifacts: ModelArtifacts) -> dict[str, float]
artifacts
ModelArtifacts
required
Model artifacts from train_predictive_models containing models and test data
return
dict[str, float]
Dictionary containing:
  • risk_accuracy: Accuracy for risk model
  • risk_f1: F1 score for risk model
  • risk_auc: AUC-ROC for risk model
  • outcome_accuracy: Accuracy for outcome model
  • outcome_f1: F1 score for outcome model
  • outcome_auc: AUC-ROC for outcome model
  • sample_count: Number of test samples

Build docs developers (and LLMs) love