Skip to content

MLLearner 0.1.0 - Initial Release

Choose a tag to compare

@HarshTambade HarshTambade released this 05 Jan 16:59
54e0794

MLLearner 0.1.0 - Initial Release

Overview

MLLearner is a comprehensive, educational Python package designed to help machine learning learners and practitioners understand and implement ML algorithms from scratch.

Features

📊 Data Handling Module

  • DataLoader: Load CSV and JSON files
  • DataProcessor: Handle missing values, encoding, normalization, standardization
  • TrainTestSplit: Split datasets into train and test sets

🤖 ML Models

  • Linear Regression: Gradient descent-based regression
  • Logistic Regression: Binary classification with sigmoid activation
  • K-Nearest Neighbors: KNN classifier with Euclidean distance
  • Decision Trees: Tree-based classifier with Gini impurity

📈 Evaluation Metrics

  • ClassificationMetrics: Accuracy, Precision, Recall, F1 Score, Confusion Matrix
  • RegressionMetrics: MSE, RMSE, MAE, R² Score

🎓 Training Utilities

  • Trainer: Base trainer for model training
  • EarlyStoppingCallback: Prevent overfitting
  • LearningRateScheduler: Adaptive learning rate scheduling

📊 Visualization Tools

  • PlotUtils: Visualization utilities for metrics and results

🔧 Utility Functions

  • ModelSaver: Save and load models
  • DataValidator: Data validation
  • HyperparameterTuner: Grid search for hyperparameters

Installation

pip install mllearner

Quick Start

from mllearner.data import DataLoader, DataProcessor, TrainTestSplit
from mllearner.models import LinearRegression
from mllearner.evaluation import RegressionMetrics

# Load and preprocess data
loader = DataLoader()
data = loader.load_csv('data.csv')

processor = DataProcessor()
X = processor.normalize(X)
y = processor.normalize(y)

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

# Train model
model = LinearRegression(learning_rate=0.01, iterations=1000)
model.fit(X_train, y_train)

# Evaluate
y_pred = model.predict(X_test)
rmse = RegressionMetrics.rmse(y_test, y_pred)
print(f"RMSE: {rmse:.4f}")

Documentation

Full documentation available at: https://github.com/HarshTambade/ML-Learning-Hub

License

MIT License

Author

Harsh Tambade