Package: hana_automl
Simple but powerful Automated Machine Learning library for tabular data. It uses efficient in-memory SAP HANA algorithms to automate routine Data Science tasks.📚 Explore the docs »🐞 Report Bug·🆕 Request FeatureTable of ContentsAbout The ProjectGetting StartedPrerequisitesInstallationUsageRoadmapContributingLicenseContactAcknowledgementsAbout the projectWhat's this?This is a simple but accurate Automated Machine Learning library.
Based on SAP HANA powerful in-memory algorithms, it provides high accuracy in multiple machine learning tasks.
Our library also uses numerous data preprocessing functions to automate routine data cleaning tasks. So, hana_automl goes through all AutoML steps and makes Data Science work easier.What is SAP HANA?Fromwww.sap.com:
SAP HANA is a high-performance in-memory database that speeds data-driven, real-time decisions and actions.Documentationhttps://sap-hana-automl.readthedocs.io/en/latest/index.htmlBenchmarkshttps://github.com/dan0nchik/SAP-HANA-AutoML/blob/main/comparison_openml.ipynbML tasks:Binary classificationRegressionMulticlass classificationForecastingSteps automated:Data explorationData preparationFeature engineeringModel selectionModel trainingHyperparameter tuning👇 By the end of summer 2021, blue part will be fully automated by our libraryClientsGUI (Streamlit app)Python libraryCLI (coming soon)Streamlit clientBuilt WithPython3hana_mlOptunaBayesianOptimizationStreamlitGetting StartedTo get a package up and running, follow these simple steps.PrerequisitesMake sure you have the following:✅ Setup SAP HANA(skip this step if you have an instance with PAL enabled).
There are 2 ways to do that.In HANA Cloud:Createa free trial accountSetupan instanceEnablePAL - Predictive Analysis Library. It is vital to enable it because we use their algorithms.In Virtual Machine:Rent a virtual machine in Azure, AWS, Google Cloud, etc.InstallHANA instance there or on your PC (if you have >32 Gb RAM).EnablePAL - Predictive Analysis Library. It is vital to enable it because we use their algorithms.✅ Installed softwarePython > 3.6Skip this step ifpython --versionreturns > 3.6Cythonpip3installCythonInstallationThere are 2 ways to install the libraryStable: from pypipip3installhana_automlLatest: from the repositorypip3installhttps://github.com/dan0nchik/SAP-HANA-AutoML/archive/dev.zipNote:latest version may contain bugs, be careful!After installationCheck that PAL (Predictive Analysis Library) is installed and roles are grantedRead docs section about that.If you don't want to read docs, run this codefromhana_automl.utils.scriptsimportsetup_userfromhana_ml.dataframeimportConnectionContextcc=ConnectionContext(address='address',user='user',password='password',port=39015)# replace with credentials of user that will be created or granted a role to run PAL.setup_user(connection_context=cc,username='user',password="password")UsageFrom codeOur library in a few lines of codeConnect to database.fromhana_ml.dataframeimportConnectionContextcc=ConnectionContext(address='address',user='username',password='password',port=1234)Create AutoML model and fit it.fromhana_automl.automlimportAutoMLmodel=AutoML(cc)model.fit(file_path='path to training dataset',# it may be HANA table/view, or pandas DataFramesteps=10,# number of iterationstarget='target',# column to predicttime_limit=120# time limit in seconds)Predict.model.predict(file_path='path to test dataset',id_column='ID',verbose=1)For more examples, please refer to theDocumentationHow to run Streamlit clientClone repository:git clone https://github.com/dan0nchik/SAP-HANA-AutoML.gitInstall dependencies:pip3 install -r requirements.txtRun GUI:streamlit run ./web.pyRoadmapSee theopen issuesfor a list of proposed features (and known issues). Feel free to report any bugs :)ContributingAny contributions you make aregreatly appreciated👏!Fork the ProjectCreate your Feature Branch (git checkout -b feature/NewFeature)Install dependenciespip3installCythonpip3install-rrequirements.txtCreatecredentials.pyfile intestsdirectory
Your files should look like this:SAP-HANA-AutoML
│   README.md
│   all other files   
│   .....
|
└───tests
    │   test files...
    │   credentials.pyCopy and paste this piece of code there and replace it with your credentials:host="host"user="username"password="password"port=39015# or any port you needschema="your schema"Don't worry,this file is in .gitignore, so your credentials won't be seen by anyone.Make some changesWrite tests that cover your code intestsdirectoryRun tests (underSAP-HANA-AutoML directory)pytestCommit your changes (git commit -m 'Add some amazing features')Push to the branch (git push origin feature/AmazingFeature)Open a Pull RequestLicenseDistributed under the MIT License. SeeLICENSEfor more information.Don't really understand license? Check out theMIT license summary.ContactAuthors:@While-true-codeanything,@DbusAI,@dan0nchikProject Link:https://github.com/dan0nchik/SAP-HANA-AutoML