Skip to main content

Automated Feature Engineering Toolkit Based on Large Language Models

Project description

FeatureForge LLM: Automated Feature Engineering with Large Language Models

Overview

FeatureForge LLM is an innovative Python package that leverages large language models (LLMs) to automate and enhance feature engineering processes. By utilizing advanced AI capabilities, this package helps data scientists and machine learning engineers discover, generate, and implement intelligent features across various datasets.

Key Features

  • 🤖 AI-Powered Feature Suggestions: Generate feature engineering recommendations using state-of-the-art language models
  • 🛠️ Automatic Feature Implementation: Automatically convert feature suggestions into executable Python code
  • 🔒 Safe Code Execution: Built-in safety checks to ensure secure feature generation
  • 📊 Multi-Provider Support: Compatible with multiple LLM providers like OpenAI and Google Gemini
  • 📈 Performance Benchmarking: Analyze feature implementation performance and impact

Installation

pip install featureforge-llm

Quick Start

from featureforge_llm import LLMFeaturePipeline

# Initialize the pipeline with your LLM provider
pipeline = LLMFeaturePipeline(
    llm_api_key="YOUR_API_KEY", 
    provider="gemini",  # or "openai"
    model="gemini-1.5-flash",
    verbose=True
)

# Define your task description and dataset background
task_description = (
    "Predict the disease state of patients with liver cirrhosis. "
    "The objective is to use multi-classification methods to predict "
    "the final disease status of patients."
)

dataset_background = (
    "This dataset contains various physiological indicators "
    "and treatment plans for liver cirrhosis patients."
)

# Get feature suggestions
suggestions = pipeline.ask_for_feature_suggestions(
    df=train_data,
    task_description=task_description,
    target_column="Status",
    dataset_background=dataset_background
)

# Implement all suggested features
result_df = pipeline.implement_all_suggestions(train_data)

Advanced Usage

Custom Feature Request

# Create a custom feature with a natural language description
custom_feature_df = pipeline.custom_feature_request(
    df=train_data, 
    feature_description="Create an interaction feature between patient age and treatment duration"
)

Performance Benchmarking

# Benchmark a specific feature implementation
benchmark_results = pipeline.benchmark_feature_implementation(
    df=train_data, 
    suggestion_id="your_suggestion_id", 
    iterations=5
)

Supported LLM Providers

  • OpenAI (GPT models)
  • Google Gemini
  • More providers coming soon!

Dependencies

  • pandas
  • numpy
  • openai (optional)
  • google-generativeai (optional)

Configuration

  • llm_api_key: Your API key for the selected LLM provider
  • provider: "openai" or "gemini"
  • model: Specific model to use (e.g., "gpt-4", "gemini-1.5-flash")
  • verbose: Enable detailed logging (default: True)

Contributing

Contributions are welcome! Please check our GitHub repository for guidelines.

License

MIT License

Disclaimer

Feature suggestions are generated by AI and should be carefully reviewed by domain experts before implementation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

featureforge_llm-1.0.0.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

featureforge_llm-1.0.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file featureforge_llm-1.0.0.tar.gz.

File metadata

  • Download URL: featureforge_llm-1.0.0.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for featureforge_llm-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b6d580c9f1919d870c3d6686cea685be7497dca656c668edd8914e1961c09ad5
MD5 2b2997f2e49e28b7fc829f59081d0add
BLAKE2b-256 51075a650703b36042a7c0165216936771ee93b09c16b460d360ea5bdc4837ef

See more details on using hashes here.

File details

Details for the file featureforge_llm-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for featureforge_llm-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ee146c3602b4bf50f0a1876f101741b232a14fbacb4e85e3584ee66c56ef987
MD5 222847f8ee26e8d4896cfcd650c38e57
BLAKE2b-256 d7f88e3fc5a4ac535c29d4d8a89767d4e427f5200e42998ca7c6eb5b81539296

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page