AutoTabML is an innovative application designed to automate the generation of machine learning code for tabular data. Utilizing CrewAI and the Groq Llama 70B model, AutoTabML simplifies the process of building and debugging machine learning models for both regression and classification problems. With this tool, you can generate working code, debug errors, and run your code without writing a single line of code manually.
The AutoTabML Application is hosted on HuggingFace Spaces for anyone to go and test this amazing functionality.
- Automated Code Generation: Generate Python code for machine learning tasks based on your tabular dataset and problem description.
- EDA and Feature Engineering: Perform comprehensive Exploratory Data Analysis (EDA) and feature engineering.
- Model Recommendation: Get suggestions for the most suitable machine learning models for your problem.
- Code Modification and Debugging: Modify generated code based on user suggestions and debug errors effortlessly.
- In-app Execution: Run the generated code within the application and view the results without the need for external IDEs or additional installations.
AutoTabML leverages multiple agents, each specializing in different aspects of the machine learning pipeline. Here's a brief overview of the agents and their roles:
- Data Reader Agent: Reads and loads the uploaded dataset.
- Problem Definition Agent: Clarifies the machine learning problem based on user input.
- EDA Agent: Performs exploratory data analysis to understand data characteristics.
- Feature Engineering Agent: Executes feature engineering based on EDA results.
- Model Recommendation Agent: Suggests the most suitable machine learning models.
- Starter Code Generator Agent: Generates the initial Python code template for the project.
- Code Modification Agent: Adapts the generated code according to user feedback.
- Code Debugger Agent: Debugs the generated code to fix any issues.
- Compiler Agent: Extracts and compiles the Python code.
Classification.Demo.mp4
Regression.Demo.mp4
- Required Python packages (listed in
requirements.txt
)
-
Clone the repository:
git clone https://github.com/Sakalya100/AutoTabML.git cd AutoTabML
-
Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
-
Install the required packages:
pip install -r requirements.txt
-
Set up the environment variables by creating a
.env
file in the root directory and adding your Groq API key:GROQ_API_KEY=your_groq_api_key
-
Run the Streamlit application:
streamlit run app.py
-
Open your web browser and go to
http://localhost:8501
. -
Describe your machine learning problem and upload a sample CSV of your dataset.
-
Click on "Process" to generate the initial code. You can then modify, debug, and run the code directly within the application.
- Describe Your Problem: Enter a detailed description of the machine learning problem you want to solve.
- Upload Dataset: Upload your dataset in CSV format.
- Generate Code: Click the "Process" button to generate the initial Python code.
- Modify and Debug: Use the provided text areas to suggest code modifications or paste error messages for debugging.
- Run the Code: Execute the generated code and view the results, including any plots or outputs generated during execution.
We welcome contributions to AutoTabML! Whether you're fixing bugs, adding new features, improving documentation, or providing examples, your help is greatly appreciated.
-
Fork the Repository: Click the "Fork" button at the top-right corner of this repository to create a copy of the repository under your own GitHub account.
-
Clone Your Fork: Clone your fork to your local machine using the following command:
git clone https://github.com/Sakalya100/AutoTabML.git cd AutoTabML
-
Create a Branch: Create a new branch for your changes:
git checkout -b feature-or-bugfix-name
-
Make Your Changes: Implement your changes in the new branch.
-
Test Your Changes: Ensure your changes are tested and working as expected. Run the application to verify.
-
Commit Your Changes: Commit your changes with a clear and concise commit message:
git add . git commit -m "Description of your changes"
-
Push to Your Fork: Push your changes to your forked repository:
git push origin feature-or-bugfix-name
-
Create a Pull Request: Go to the original repository and click the "New Pull Request" button. Choose your fork and the branch you made changes in. Provide a descriptive title and a detailed description of your changes.
If you find a bug or have an idea for a new feature, please open an issue:
-
Go to the Issues Tab: Navigate to the "Issues" tab in the repository.
-
New Issue: Click the "New Issue" button.
-
Describe the Issue: Provide a clear and detailed description of the issue or feature request. Include steps to reproduce the bug if applicable.
-
Submit: Submit the issue.
- Describe Your Changes: Provide a clear and detailed description of what you have done and why.
- Reference Issues: If your pull request addresses an issue, include a reference to the issue number.
- Update Documentation: If applicable, update the documentation to reflect your changes.
- Review Process: Be prepared to engage in the code review process. Address any feedback and make necessary revisions.
This project is licensed under the MIT License. See the LICENSE file for details.