Фреймворк WebApp для науки о данных и машинного обучения

В этой статье мы попробуем сделать диаграмму визуализации в потоковом режиме с помощью библиотеки matplotlib и seaborn. Streamlit — это веб-фреймворк нового поколения для энтузиастов науки о данных и машинного обучения.

Что такое потоковое освещение?

Это веб-фреймворк с открытым исходным кодом для создания настраиваемых приложений в области машинного обучения и науки о данных.

Темы для обсуждения

1. Matplotlib
   a. Bar chart
   b. Histogram 
2. Seaborn
   a. Count plot
   b. Violin plot

Визуализация с помощью библиотеки Matplotlib в потоке

Здесь мы создадим гистограмму и гистограмму с упрощенными функциями. Визуализация является важной частью анализа в области науки о данных и машинного обучения. Исследовательский анализ данных играет решающую роль для понимания тенденции и понимания прошлых данных.

Мы использовали визуальную студию для написания нашего Streamlit-кода.

import pandas as pd
import streamlit as st
import matplotlib.pyplot as plt
@st.cache
def load_data():
    df = pd.read_csv("ted.csv")
    return df
df = load_data()

Здесь мы определим функцию для выбора диаграммы. В приведенном ниже коде мы использовали боковую панель для добавления функций в эту часть, например, мы можем поместить ползунок, поле выбора, множественный выбор и т. д. Чтобы узнать больше об этих функциях, ознакомьтесь со статьей ниже.





def main():
    page = st.sidebar.selectbox(
                          "Select a Page",
                          [
                            "Homepage",
                            "Bar Plot",
                            "Histogram",
                          ],)
    if page == "Homepage":
        # st.header("Data Application")
        st.balloons()
        st.write(df)
    elif page == "Bar Plot":
        bar_chart()
    elif page == "Histogram":
        st.header("Languages Histogram")
        histogram()

Теперь сделаем еще одну функцию с описанием и отображением сюжета. Здесь, в этой функции, мы определяем гистограмму и график гистограммы с их регулируемым размером фигуры, вращением категорий по оси x, метками x и y и т. д.

def bar_chart():
    fig = plt.figure(figsize=(12, 5))
    plt.xticks(rotation=80)
    bar_data = df.sort_values(by="views", ascending=False)
    bar_data = bar_data.head(20)
    plt.ticklabel_format(style="plain")
    plt.bar(bar_data["event"], bar_data["views"])
    plt.xlabel("Event")
    plt.ylabel("Views")
    plt.title("Event and Views Plot")
    st.pyplot(fig)
def histogram():
    fig = plt.figure(figsize=(12, 5))
    plt.hist(df["languages"], color="y", bins=50)
    st.pyplot(fig)
if __name__ == "__main__":
    main()

Когда мы выбираем вариант домашней страницы. чтобы запустить стримлит, напишите команду ниже в терминале.

streamlit run matplot.py

Когда мы выбираем, гистограмма и опция гистограммы.

Визуализация с помощью библиотеки Seaborn в Streamlit

import pandas as pd
import streamlit as st
import matplotlib.pyplot as plt
import seaborn as sns

Загрузка данных

@st.cache
def load_data():
    df = pd.read_csv("donor.csv")
    return df
df = load_data()

Здесь мы определим функцию для выбора диаграммы.

def main():
    page = st.sidebar.selectbox(
            "Select a Page on the Left",
            [
              "Count Plot",
              "Violin & Strip Plot",
            ],)
    if page == "Count Plot":
        st.header("Count Plot")
        count_plot()
    elif page == "Violin & Strip Plot":
        st.header("Violin & Strip Plot")
        violin_strip()

Теперь сделаем еще одну функцию с описанием и отображением сюжета.

def count_plot():
    fig = plt.figure(figsize=(8, 6))
    plt.title("Prefix Countplot")
    plt.xticks(rotation=60, fontsize=12)
    sns.countplot(x="teacher_prefix", hue="project_is_approved",
                  data=df)
    st.pyplot(fig)
def violin_strip():
    plot=st.selectbox("Select a Plot",["Violin Plot", "Strip Plot"])
    ca = df[df["school_state"] == "CA"]
    fig = plt.figure(figsize=(12, 6))
    if plot == "Violin Plot":
        sns.violinplot(
                 x="teacher_prefix",
                 y="teacher_number_of_previously_posted_projects",
                 data=ca,
                       )
    elif plot == "Strip Plot":
        hue_order = ["Sunday",
                     "Monday",
                     "Tuesday",
                     "Wednesday",
                     "Thursday",
                     "Friday",
                     "Saturday",]
        sns.stripplot(
                  x="teacher_prefix",
                  y="teacher_number_of_previously_posted_projects",
                  data=ca,
                  hue="day",
                  dodge=True,
                  palette="Set2",
                  hue_order=hue_order,)
    st.pyplot(fig)
if __name__ == "__main__":
    main()

Когда мы выбираем опцию Count Plot и Violin plot.

Заключение

В этой статье очень полезно узнать об использовании инструментов визуализации в Streamlit. Иногда работа с документом представляет собой лихорадочный процесс, чтобы узнать все шаги использования каждой функции.

Надеюсь, вам понравилась статья. Свяжитесь со мной на моих LinkedIn и twitter.

Рекомендуемые статьи

1. 8 Active Learning Insights of Python Collection Module
2. NumPy: линейная алгебра изображений
3. Концепции обработки исключений в Python
4. Pandas: работа с Категориальные данные
5. Гиперпараметры: RandomSeachCV и GridSearchCV в машинном обучении
6. Полное объяснение линейной регрессии с Python
7. Полное объяснение логистической регрессии с Python< br /> 8. Распределение данных с помощью Numpy с Python
9. Деревья решений против случайных лесов в машинном обучении
10. Стандартизация в предварительной обработке данных с помощью Python