Фреймворк 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