Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sklearn Integration #960

Closed
3 of 5 tasks
gaurav274 opened this issue Aug 25, 2023 · 5 comments · Fixed by #1162 or #1201
Closed
3 of 5 tasks

Sklearn Integration #960

gaurav274 opened this issue Aug 25, 2023 · 5 comments · Fixed by #1162 or #1201
Assignees
Labels
AI Engines Features, Bugs, related to AI Engines Integrations 🧩 Pull requests that update an integration
Milestone

Comments

@gaurav274
Copy link
Member

gaurav274 commented Aug 25, 2023

Search before asking

  • I have searched the EvaDB issues and found no similar feature requests.

Description

Expand our integrations with ML libraries.

Use case

No response

Are you willing to submit a PR?

  • Yes I'd like to help by submitting a PR!
@gaurav274 gaurav274 added the Integrations 🧩 Pull requests that update an integration label Aug 25, 2023
@gaurav274 gaurav274 added this to the v0.3.3 milestone Aug 25, 2023
@xzdandy xzdandy removed this from the v0.3.3 milestone Sep 7, 2023
@jineetd
Copy link
Contributor

jineetd commented Sep 8, 2023

I would like to pick up this issue and contribute to the integration.

@xzdandy xzdandy linked a pull request Sep 19, 2023 that will close this issue
@xzdandy xzdandy added the AI Engines Features, Bugs, related to AI Engines label Sep 22, 2023
@xzdandy xzdandy added this to the v0.3.7 milestone Sep 22, 2023
@xzdandy
Copy link
Collaborator

xzdandy commented Sep 22, 2023

Hi @jineetd, thanks for bringing in the linear model support from Sklearn to EvaDB. I will take care of the documentation. You can think about ideas how we can scale the support to other models from Sklearn. Thanks!

@xzdandy xzdandy reopened this Sep 22, 2023
@xzdandy
Copy link
Collaborator

xzdandy commented Sep 23, 2023

The integration test failed on circle ci. @jineetd Please take a look.

self = <test.integration_tests.long.test_model_train.ModelTrainTests testMethod=test_sklearn_regression>

    def test_sklearn_regression(self):
        create_predict_function = """
            CREATE FUNCTION IF NOT EXISTS PredictHouseRent FROM
            ( SELECT number_of_rooms, number_of_bathrooms, days_on_market, rental_price FROM HomeRentals )
            TYPE Sklearn
            PREDICT 'rental_price';
        """
        execute_query_fetch_all(self.evadb, create_predict_function)
    
        predict_query = """
            SELECT PredictHouseRent(number_of_rooms, number_of_bathrooms, days_on_market, rental_price) FROM HomeRentals LIMIT 10;
        """
>       result = execute_query_fetch_all(self.evadb, predict_query)

test/integration_tests/long/test_model_train.py:87: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
evadb/server/command_handler.py:93: in execute_query_fetch_all
    res_batch = execute_query(
evadb/server/command_handler.py:72: in execute_query
    res_batch = execute_statement(
evadb/server/command_handler.py:53: in execute_statement
    batch_list = list(output)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <evadb.executor.plan_executor.PlanExecutor object at 0x7fe4bf7db910>
do_not_raise_exceptions = False, do_not_print_exceptions = False

    def execute_plan(
        self,
        do_not_raise_exceptions: bool = False,
        do_not_print_exceptions: bool = False,
    ) -> Iterator[Batch]:
        """execute the plan tree"""
        try:
            execution_tree = self._build_execution_tree(self._plan)
            output = execution_tree.exec()
            if output is not None:
                yield from output
        except Exception as e:
            if do_not_raise_exceptions is False:
                if do_not_print_exceptions is False:
                    logger.exception(str(e))
>               raise ExecutorError(e)
E               evadb.executor.executor_utils.ExecutorError: 'sqft'

evadb/executor/plan_executor.py:183: ExecutorError

Circle CI

@xzdandy
Copy link
Collaborator

xzdandy commented Sep 26, 2023

The above error will be fixed in #1209

xzdandy added a commit that referenced this issue Sep 26, 2023
Relates to: #999 #960 

- [x] Skip the
[17-home-rental-prediction.ipynb](https://github.com/georgia-tech-db/evadb/blob/staging/tutorials/17-home-rental-prediction.ipynb)
which does not run on Circle CI due to Postgres setup.
- [x] Fix the format issue in current documentation pages
- [x] Add a new usecase documentation page for
[17-home-rental-prediction.ipynb](https://github.com/georgia-tech-db/evadb/blob/staging/tutorials/17-home-rental-prediction.ipynb)
- [x] Refine the [model training page under AI engines
](https://evadb.readthedocs.io/en/stable/source/reference/ai/model-train.html)
to include Ludwig and Sklearn.
- [x] Provide a reference table for available configuration parameters
for those two AI engines
@xzdandy xzdandy linked a pull request Sep 26, 2023 that will close this issue
5 tasks
@xzdandy
Copy link
Collaborator

xzdandy commented Sep 28, 2023

auto-sklearn does not work python3.10

So we will drop the auto-sklearn integration for now.

Reference: automl/auto-sklearn#1694

@xzdandy xzdandy closed this as not planned Won't fix, can't repro, duplicate, stale Sep 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AI Engines Features, Bugs, related to AI Engines Integrations 🧩 Pull requests that update an integration
Projects
Archived in project
3 participants