End-to-End Machine Learning Workflow Library
Project description
ThinkML
ThinkML is a comprehensive machine learning library built on top of scikit-learn, providing advanced validation, feature engineering, and model selection capabilities with robust edge case handling.
IMPORTANT: This library is exclusively available from the author's GitHub account. It is not and will not be available on PyPI or any other package repository. The only official source is: https://github.com/ArpanChaudhary/ThinkML
Features
1. Advanced Validation Methods
- Nested Cross-Validation with enhanced error handling
- Time Series Validation with gap support
- Stratified Group Validation
- Bootstrap Validation with stratification
2. Feature Engineering
- Automated feature creation
- Intelligent feature selection
- Support for various feature types:
- Polynomial features
- Interaction features
- Domain-specific features
3. Robust Preprocessing
- Advanced scaling with edge case handling
- Support for:
- Empty datasets
- Single row datasets
- Missing data
- Extreme values
- Highly correlated features
4. Performance
- Efficient handling of large datasets (1M+ rows)
- Memory-optimized validation methods
- Parallel processing support
- Chunked data processing
Installation
ThinkML is exclusively available from the author's GitHub repository. It is not available on PyPI or any other package repository. Here are the only official installation methods:
Method 1 (Recommended)
pip install git+https://github.com/ArpanChaudhary/ThinkML.git
Method 2
# Clone the repository
git clone https://github.com/ArpanChaudhary/ThinkML.git
# Change to the project directory
cd ThinkML
# Install the package
pip install -e .
Method 3
# Download the ZIP file from https://github.com/ArpanChaudhary/ThinkML
# Extract the ZIP file
# Navigate to the extracted directory
cd ThinkML
# Install the package
pip install -e .
Note: Any other installation method or source is not official and may contain unauthorized modifications. Always install from the official GitHub repository: https://github.com/ArpanChaudhary/ThinkML
Dependencies
Before installing ThinkML, ensure you have the following dependencies:
- Python 3.6+
- scikit-learn >= 0.24.0
- numpy >= 1.19.0
- pandas >= 1.2.0
You can install these dependencies automatically during ThinkML installation, or manually:
pip install scikit-learn>=0.24.0 numpy>=1.19.0 pandas>=1.2.0
Quick Start
from thinkml.validation import NestedCrossValidator
from thinkml.feature_engineering import create_features
from sklearn.ensemble import RandomForestClassifier
# Initialize validator
validator = NestedCrossValidator(
estimator=RandomForestClassifier(),
param_grid={'n_estimators': [100, 200]},
inner_cv=3,
outer_cv=5
)
# Create features and validate
X_new = create_features(X)
results = validator.fit_predict(X_new, y)
print(f"Mean Score: {results['mean_score']:.3f} ± {results['std_score']:.3f}")
Documentation
For detailed documentation, visit our documentation site:
Requirements
- Python 3.6+
- scikit-learn >= 0.24.0
- numpy >= 1.19.0
- pandas >= 1.2.0
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Citation
If you use ThinkML in your research, please cite:
@software{thinkml2025,
title = {ThinkML: Advanced Validation and Feature Engineering for Machine Learning},
author = {Chaudhary, Arpan},
year = {2025},
version = {1.0},
url = {https://github.com/ArpanChaudhary/ThinkML}
}
Acknowledgments
- Thanks to all contributors who have helped shape ThinkML
- Inspired by various open-source machine learning libraries
- Special thanks to the Python data science community
Contact
Arpan Chaudhary - @ArpanChaudhary
Project Link: https://github.com/ArpanChaudhary/ThinkML
Support
If you encounter any issues or have questions, please:
- Check the documentation
- Search existing issues
- Create a new issue if needed
Roadmap
- Enhanced deep learning support
- Automated hyperparameter tuning
- Distributed computing support
- Model deployment tools
- Web API interface
- GUI for interactive model building
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thinkml-1.0.1.tar.gz.
File metadata
- Download URL: thinkml-1.0.1.tar.gz
- Upload date:
- Size: 185.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
329bc32e6b5481fc5f68e2b3daa4f8b4eb912148dadde68f9c9eeb9a444e1a74
|
|
| MD5 |
0cb9d16be5aaba948969e1ad55c21b35
|
|
| BLAKE2b-256 |
8247ba313d29022ade8678b9b5347afbeda15880437df92963bd7508e8019f20
|
File details
Details for the file thinkml-1.0.1-py3-none-any.whl.
File metadata
- Download URL: thinkml-1.0.1-py3-none-any.whl
- Upload date:
- Size: 199.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b37e4c107c92e3607e42091b60a56c57cda2408253a5495993514718555fd904
|
|
| MD5 |
2db31979bab263ed77c96aed488e817e
|
|
| BLAKE2b-256 |
37c814ee35684fcba7da1d65551c07174c25b429ebf6ccfb3ca10f9209ad9630
|