# PurnamaTools
**PurnamaTools** is a Python package designed to simplify data analysis and machine learning workflows, especially for beginners. It provides utilities for:
- Initial data inspection and validation
- Feature selection and correlation analysis
- Model evaluation for regression and classification
The package is intended to be continuously updated with new features and improvements.
## Features
### 1. Initial Data Check
- `initial_data_overview(df, target=None, is_classification=True)`: Comprehensive overview of your dataset, including missing values, duplicates, outliers, low variance columns, and more.
- `check_class_balance(df, target)`: Quickly check class imbalance and get recommendations for classification tasks.
### 2. Feature Selection
- `correlation_analysis(df, target, method='pearson')`: Identify strong correlations and potential redundant features.
- `mi_analysis(X, y)`: Select top features based on Mutual Information.
- `batch_rfe_feature_selection(X, y)`: Scalable Recursive Feature Elimination for datasets with many features.
- `sfs_feature_selection(X, y)`: Sequential Feature Selection (forward or backward) using any estimator.
- `lasso_feature_selection(X, y)`: Feature selection using Lasso regression.
### 3. Model Evaluation
- `evaluate_model_regression(model, X_train, y_train, X_test, y_test, scoring)`: Evaluate regression models and get guidance for overfitting or underfitting.
- `evaluate_model_classification(model, X_train, y_train, X_test, y_test, scoring)`: Evaluate classification models and get suggestions for handling class imbalance.
## Installation
```bash
pip install purnamatools
Raw data
{
"_id": null,
"home_page": "https://github.com/PurnamaRidzkyN/purnamatools.git",
"name": "purnamatools",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "data-science machine-learning feature-selection model-analysis",
"author": "Purnama Ridzky Nugraha",
"author_email": "purnamanugraha492@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/2d/45/f26fa59e0febf82932a94fcc21f0d9a9187f78750d0ee9fc2898aeb27184/purnamatools-0.2.1.tar.gz",
"platform": null,
"description": "# PurnamaTools\r\n\r\n**PurnamaTools** is a Python package designed to simplify data analysis and machine learning workflows, especially for beginners. It provides utilities for:\r\n\r\n- Initial data inspection and validation\r\n- Feature selection and correlation analysis\r\n- Model evaluation for regression and classification\r\n\r\nThe package is intended to be continuously updated with new features and improvements.\r\n\r\n## Features\r\n\r\n### 1. Initial Data Check\r\n- `initial_data_overview(df, target=None, is_classification=True)`: Comprehensive overview of your dataset, including missing values, duplicates, outliers, low variance columns, and more.\r\n- `check_class_balance(df, target)`: Quickly check class imbalance and get recommendations for classification tasks.\r\n\r\n### 2. Feature Selection\r\n- `correlation_analysis(df, target, method='pearson')`: Identify strong correlations and potential redundant features.\r\n- `mi_analysis(X, y)`: Select top features based on Mutual Information.\r\n- `batch_rfe_feature_selection(X, y)`: Scalable Recursive Feature Elimination for datasets with many features.\r\n- `sfs_feature_selection(X, y)`: Sequential Feature Selection (forward or backward) using any estimator.\r\n- `lasso_feature_selection(X, y)`: Feature selection using Lasso regression.\r\n\r\n### 3. Model Evaluation\r\n- `evaluate_model_regression(model, X_train, y_train, X_test, y_test, scoring)`: Evaluate regression models and get guidance for overfitting or underfitting.\r\n- `evaluate_model_classification(model, X_train, y_train, X_test, y_test, scoring)`: Evaluate classification models and get suggestions for handling class imbalance.\r\n\r\n## Installation\r\n\r\n```bash\r\npip install purnamatools\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Python package to simplify the initial stages of model building and analysis for data science projects",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/PurnamaRidzkyN/purnamatools.git"
},
"split_keywords": [
"data-science",
"machine-learning",
"feature-selection",
"model-analysis"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "38ee52d4e9d9677d0d1c4b2e5e60faab2e0d1ac0660c0ce56191478a9767f173",
"md5": "47351c98d541dfd1a94a4e70dd40e299",
"sha256": "a8d891a7a0915ea50ff847d2245520e596936265a68e9f1d1fbee67e8cee8d20"
},
"downloads": -1,
"filename": "purnamatools-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "47351c98d541dfd1a94a4e70dd40e299",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11932,
"upload_time": "2025-08-30T11:50:08",
"upload_time_iso_8601": "2025-08-30T11:50:08.911847Z",
"url": "https://files.pythonhosted.org/packages/38/ee/52d4e9d9677d0d1c4b2e5e60faab2e0d1ac0660c0ce56191478a9767f173/purnamatools-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2d45f26fa59e0febf82932a94fcc21f0d9a9187f78750d0ee9fc2898aeb27184",
"md5": "8a57b5b0dc7b9de7e659f38ea108789a",
"sha256": "8664d0460e009f76e4fd886266ff64bc496f252c4dd68c951676f23931eb0643"
},
"downloads": -1,
"filename": "purnamatools-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "8a57b5b0dc7b9de7e659f38ea108789a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 11664,
"upload_time": "2025-08-30T11:50:10",
"upload_time_iso_8601": "2025-08-30T11:50:10.639194Z",
"url": "https://files.pythonhosted.org/packages/2d/45/f26fa59e0febf82932a94fcc21f0d9a9187f78750d0ee9fc2898aeb27184/purnamatools-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-30 11:50:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PurnamaRidzkyN",
"github_project": "purnamatools",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "purnamatools"
}