merve's picture
merve HF Staff
Update app.py
158c444
raw
history blame contribute delete
2.28 kB
import gradio as gr
import pandas as pd
import datasets
import seaborn as sns
import matplotlib.pyplot as plt
df = datasets.load_dataset("merve/supersoaker-failures")
df = df["train"].to_pandas()
df.dropna(axis=0, inplace=True)
df.drop(columns=["id"], inplace=True)
def plot(df):
plots = []
plt.scatter(df.measurement_13, df.measurement_15, c = df.failure, alpha=0.5)
plt.title("Measurement 13 vs 15 with Failure")
plt.xlabel("Measurement 13")
plt.ylabel("Measurement 15")
plt.savefig("scatter.png")
plt.scatter(df.measurement_10, df.measurement_15, c = df.failure, alpha=0.5)
plt.title("Measurement 10 vs 15 with Failure")
plt.savefig("scatter_2.png")
plt.scatter(df.measurement_14, df.measurement_15, c = df.failure, alpha=0.5)
plt.title("Measurement 13 vs 15 with Failure")
plt.savefig("scatter_3.png")
plt.scatter(df.measurement_16, df.measurement_15, c = df.failure, alpha=0.5)
plt.title("Measurement 16 vs 15 with Failure")
plt.savefig("scatter_4.png")
df['failure'].value_counts().plot(kind='bar')
plt.title("Number of failed vs successful products")
plt.savefig("bar.png")
sns.distplot(df["loading"])
plt.title("Distribution of Loading Variable")
plt.savefig("loading_dist.png")
sns.distplot(df["attribute_3"])
plt.title("Distribution of Attribute 3")
plt.savefig("attribute_3.png")
sns.catplot(x='measurement_3', y='measurement_4', hue='failure', data=df, kind='violin')
plt.title("Violin Plot of Measurement 3 vs Measurement 4 with Failures")
plt.xlabel("Measurement 3")
plt.ylabel("Measurement 4")
plt.savefig("violinplot.png")
sns.heatmap(df.select_dtypes(include="number").corr())
plt.title("Correlation Between Numerical Variables")
plt.savefig("corr.png")
plots = ["corr.png","scatter.png", "scatter_2.png", "scatter_3.png", "scatter_4.png", "bar.png", "loading_dist.png", "attribute_3.png", "violinplot.png"]
return plots
inputs = [gr.Dataframe(label="Supersoaker Production Data")]
outputs = [gr.Gallery(label="Profiling Dashboard").style(grid=(3,3))]
gr.Interface(plot, inputs=inputs, outputs=outputs, examples=[df.head(100)], title="Supersoaker Failures Analysis Dashboard", description="This is a data analysis & visualization dashboard based on supersoaker failures data.").launch()