<jupyter_start><jupyter_text>Low Code Machine Learning with Colab, PyCaret and Streamlit Salil "<NAME>[LinkedIn](https://www.linkedin.com/in/salilathalye/)[Github](https://github.com/salilathalye) Rochester Python Meetup February 16, 2021  Objective*Interested in getting started with Machine Learning? In this presentation <NAME> will show you how he is using Python and a handful of open-source libraries to create low-cost, low-code, end-to-end solutions.*  Motivation* Build a personal hobbyist / "Citizen Data Scientist" codebase for Data Science, ML, NLP and Time Series Forecasting from open-source libraries using techniques from the public domain.* Give back to the open-source community through public Github repos under the MIT License.* Enable a low-cost "***workbench***" for experimentation in support of continuous learning.* Surface areas of weakness in theory and practice.* Build "muscle memory" with APIs and toolchains to improve productivity and flow.* Enhance skills with tools and processes needed to contribute to other open-source projects.* Support my passion for technology and computing and staying informed of new developments in the field.* Participate in time-boxed datathons and similar challenges in an individual or team-based setting.  AcknowledgementsTo all the Giants, whose shoulders we stand on - Thanks!  The *Work in Progress* Workbench Development Environments Python / Jupyter NotebooksWe will mostly be using a handful of Python libraries to create this workbench. Familiarity with writing functions, workings with lists, dictionaries, sets should give you the foundation you need to get started. Python Virtual EnvironmentComing from the Data Science group of Python users, I've used conda and pip for virtual environment and package management. Visual Studio CodeThis is a personal decision. You will need an Editor/IDE on your local machine. I also use Jupyter Notebook/Jupyter Lab. You need to build "muscle memory" with your editor(s) of choice![Visual Studio Code](https://code.visualstudio.com/) Google ColaboratoryGoogle Colaboratory (aka Colab) provides a cloud-based Python development environment with pre-installed libraries in a familar Jupyter Notebook setting. It integrates with Google Drive and github. Colab is intriguing because we can set up runtime environments with a GPU or TPU, for free - subject to some constraints such as strict idle timeouts, VM RAM limits and upto 12hrs of notebook run time. There is also a Pro tier that removes some of the constraints.[Introduction to Colab](https://colab.research.google.com/github/tensorflow/examples/blob/master/courses/udacity_intro_to_tensorflow_for_deep_learning/l01c01_introduction_to_colab_and_python.ipynb) git, githubFamiliarity with creating a git repo on github, connecting your local repo to a remote, using a .gitignore file, adding new files to the repo, staging changes, committing changes, pulling and pushing changes are what we need to get started.Github gists are a great way to build your collection of commonly used code snippets. You can create public or private gists.[Github Gist](https://gist.github.com/)[Sal's gists](https://gist.github.com/salilathalye) Python Libraries pandasThe pandas library, developed by <NAME>, is the Swiss Army Knife for data manipulation and analysis in Python. Familarity with loading data from CSV or xlsx (Excel) formats, manipulating and transforming DataFrames and Series (tabular and columnar representations of in-memory data) is the muscle-memory we need to build here. There are many excellent tutorials on YouTube to help us get started.[pandas](https://pandas.pydata.org/) cookiecuttercookiecutter is a command-line utility that helps create directory structures and necessary utility code from project templates.[cookiecutter](https://github.com/cookiecutter/cookiecutter)For Data Science projects there is a pre-configured template available.[cookiecutter-data-science](https://github.com/drivendata/cookiecutter-data-science) StreamlitStreamlit was developed to address the need of data science teams to quickly transform their work (analyses, models) into rich, compelling interactive data web applications. [Streamlit](https://https://www.streamlit.io/)[Streamlit Documentation](https://docs.streamlit.io/en/stable/)Streamlit Sharing is currently invite-only as of this presentation. It provides super-easy deployment of Streamlit applications from a public github repo.[Streamlit Sharing](https://www.streamlit.io/sharing) PyCaretPyCaret is an open-source low-code Machine Learning library developed by [<NAME>](https://www.linkedin.com/in/profile-moez/) and team. It provides a set of wrappers and workflows that uses functionality from widely used open-source libraries that *considerably* reduces the amount of code we need to write the navigate through the Machine Learning workflow. Hence the "low-code"![PyCaret](https://pycaret.org/)[PyCaret Guide](https://pycaret.org/guide/)  PyCaret DependenciesPyCaret depends on a number of widely used Python libraries from data manipulation, data visualization, exploratory data analysis, ML experiment management, web application development and utilities and provides a Python interface to help users move through the Data Science / ML lifecycle.<jupyter_code>!pip install pycaret==2.2.3<jupyter_output>Requirement already satisfied: pycaret==2.2.3 in /usr/local/lib/python3.6/dist-packages (2.2.3)
Requirement already satisfied: gensim in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (3.6.0)
Requirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (1.1.5)
Requirement already satisfied: wordcloud in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (1.5.0)
Requirement already satisfied: spacy in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (2.2.4)
Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (1.19.5)
Requirement already satisfied: ipywidgets in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (7.6.3)
Requirement already satisfied: seaborn in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (0.11.1)
Requirement already satisfied: IPython in /usr/local/lib/python3.6/dist-packages (from pycaret==2.2.3) (5.5.0)
Requireme[...]
{'fraction_non_alphanumeric': 0.07887679444707367, 'fraction_numerical': 0.014513330178261556, 'mean_word_length': 5.359077231695085, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 9, 'https://': 16, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '168813', 'license': 'MIT', 'n_tokens_mistral': 1733, 'n_tokens_neox': 1651, 'n_words': 723, 'path': 'RocPy_20200216.ipynb', 'repo_name': 'salilathalye/rocpy-pycaret-streamlit', 'size': '6358'}