Metadata-Version: 2.4
Name: autofe-grass
Version: 0.0.4
Summary: Automated Feature Engineering framework
Home-page: https://github.com/deola-q/AutoFE
Author: Daria Palchikova
Author-email: daria.palchikova@gmail.com
License: MIT
Project-URL: Bug Reports, https://github.com/deola-q/AutoFE/issues
Project-URL: Source, https://github.com/deola-q/AutoFE
Keywords: feature engineering,automated feature engineering,sklearn
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn
Requires-Dist: scipy
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# AutoFEAT

### Framework for automated feature generation based on statistics and AI tools

[![PyPI version](https://badge.fury.io/py/autofe-vsu-project.svg)](https://pypi.org/project/autofe-grass/)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)

## Installation

```bash
pip install autofe-grass
```

## Quick Start

```python
import pandas as pd
from autofe import GroupAggregationFeatures, StatisticalFeatureGenerator

# Load your data
df = pd.read_csv('your_data.csv')
X_train, X_test, y_train, y_test = train_test_split(X, y)

# Generate group-based features
group_feats1 = GroupAggregationFeatures(
        numeric_cols=numeric_cols,
        group_cols=group_cols,
        aggs=['mean', 'std' ...],  
        add_deviations=True,
        add_rank=False
)
X_train_grouped = group_features.fit_transform(X_train)

# Generate statistical features
stat_gen = StatisticalFeatureGenerator(
        numeric_cols=numeric_cols,
        unary=['log', 'sqrt'],
        pairwise=['ratio', 'diff'],
        max_features=20,
        corr_th=0.95,
        min_var=1e-5
    )
X_train_stats = stat_features.fit_transform(X_train_grouped, y_train)
```

## Key Features

- **Group Aggregations** - Mean, std, min, max, sum, count by categories
- **Statistical Transforms** - Log, sqrt, ratio, difference between features
- **Sklearn-Compatible** - Works with sklearn Pipeline


## 🔧 Requirements

- Python >= 3.8
- numpy >= 1.19.0
- pandas >= 1.2.0
- scikit-learn >= 0.24.0
