ilham86's picture
ilham push 10
cb9e931 verified
import streamlit as st
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from PIL import Image
def run():
# Title
st.title('Equipment in Smart Manufacturing for Predictive Maintenance')
# Sub Header
st.subheader('Exploratory Data Analysis (EDA) of dataset')
# Image
image = Image.open('./src/image1.jpg')
st.image(image, caption= "Factory Landscape")
# DataFrame
st.write('##### Data frame')
df = pd.read_csv('./src/smart_manufacturing_dataset.csv')
st.dataframe(df)
# EDA distribution numerical
st.write('##### Distribution plot numerical')
fig = plt. figure(figsize=(15, 5))
option = st.selectbox('Columns : ', ('temperature', 'vibration', 'humidity', 'pressure', 'energy_consumption', 'predicted_remaining_life', 'downtime_risk', 'maintenance_required'))
sns.histplot(df[option], bins=30, kde=True)
st.pyplot(fig)
# EDA Heatmap correlation numerical with maintenance_required
st.write('##### Heatmap correlation with maintenance_required')
fig = plt. figure(figsize=(15, 10))
sns.heatmap(df[['temperature', 'vibration', 'humidity', 'pressure', 'energy_consumption', 'predicted_remaining_life', 'downtime_risk', 'maintenance_required']].corr(), annot=True, cmap='coolwarm')
st.pyplot(fig)
# EDA distribution categorical vs maintenance_required
st.write('##### Distribution plot categorical vs maintenance_required')
fig = plt. figure(figsize=(15, 5))
option = st.selectbox('Columns : ', ('machine_id', 'machine_status', 'anomaly_flag', 'failure_type'))
sns.countplot(x=option, hue='maintenance_required', data=df)
st.pyplot(fig)
# EDA equipment that have maintenance_required=1
top_machines = (
df[df['maintenance_required'] == 1]
.groupby('machine_id')
.size()
.sort_values(ascending=False))
st.write('##### Equipment maintenance signal accumulation')
fig = plt.figure(figsize=(15,5))
sns.barplot(
x=top_machines.index.astype(str),
y=top_machines.values,
hue=top_machines.index.astype(str),
palette='rocket')
st.pyplot(fig)
if __name__ == '__main__':
run()