Package: decanter-ai-sdk
Mobagel decanter ai sdkDecanter AI is a powerful AutoML tool which enables everyone to build ML models and make predictions without data science background. With Decanter AI SDK, you can integrate Decanter AI into your application more easily with Python.It supports actions such as data uploading, model training, and prediction to run in a more efficient way and access results more easily.To know more about Decanter AI and how you can be benefited with AutoML, visitMoBagel websiteand contact us to try it out!How it worksUpload train and test files in both csv and pandas dataframe.Setup different standards and conduct customized experiments on uploaded data.Use different models to run predictionsGet predict data in pandas dataframe form.RequirementsPython >= 3.8poetryUsageInstallationpip install decanter-ai-sdkConstructorTo use this sdk, you must first construct a client object.fromdecanter_ai_sdk.clientimportClientclient=Client(auth_key="auth_API_key",project_id="project_id",host="host_url",)UploadAfter the client is constructed, now you can use it to upload your training and testing files in both csv and pandas dataframe. This function will return uploaded data id in Decanter server.importossys.path.append("..")current_path=os.path.dirname(os.path.abspath(__file__))train_file_path=os.path.join(current_path,"ts_train.csv")train_file=open(train_file_path,"rb")train_id=client.upload(train_file,"train_file")upload your pandas dataframeimportioimportpandasaspddf_train=pd.read_csv("./yourpath/train.csv")csv_file=io.BytesIO()df_train.to_csv(csv_file,index=False)csv_file.seek(0)train_table_id=client.upload(csv_file,'train_file')ExperimentTo conduct an experiment, you need to first specify which type of data you are going to use , i.e., iid or ts, then you can input parameters by following our pyhint to customize your experiment.
After the experiment, the function will return an object which you can get experiment attributes from it.# Training iid dataexperiment=client.train_iid(experiment_name=exp_name,experiment_table_id=train_id,target="Survived",evaluator=ClassificationMetric.AUC,custom_column_types={"Pclass":DataType.categorical,"Parch":DataType.categorical,},)# Training ts dataexperiment=client.train_ts(experiment_name=exp_name,experiment_table_id=train_id,target="Passengers",datetime="Month",time_groups=[],timeunit=TimeUnit.month,groupby_method="sum",max_model=5,evaluator=RegressionMetric.MAPE,custom_column_types={"Pclass":DataType.numerical},)To get its attributes, you can either extract them by simply using dot or its functions.# Experiment object usagebest_model=experiment.get_best_model()model_list=experiment.get_model_list()best_auc_model=experiment.get_best_model_by_metric(ClassificationMetric.AUC)PredictionNow you can use model data to run prediction.# Predicting iid datapredict=client.predict_iid(keep_columns=[],non_negative=False,test_table_id=test_id,model=best_model)# Predicting ts datapredict=client.predict_ts(keep_columns=[],non_negative=False,test_table_id=test_id,model=best_model)To get prediction result, dopredict_data=predict.get_predict_df()DevelopmentInstalling poetryInstall poetry fromthe official installpoetry install#Project setup.poetry shell#Start your project in poetry env. (Optional if you use Conda to manage virtual environment)Now you can create your own branch to start developing new feature.TestingTo run test, do:poe testTo run integration test, do:Rename.env.exampleas.envModify.envfile with correct configurationsrunpoe test-e2eLint and formatTo lint, do:poe lintTo reformat, do:poe formatReleasingpoetry version [new_version]git commit -m"Bump version"git push origin maincreate new release on github.Create release off main branch, auto generate notes, and review release note.Publish releaseEnums#TODOLicense#TODOTODO#TODO