FahadAlam's picture
Update app.py
48f2e22
raw
history blame
1.17 kB
import gradio as gr
import pandas as pd
from sklearn import datasets
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
def findCorrelation(dataset, target):
df = pd.read_csv(dataset.name)
non_numeric_cols = df.select_dtypes('object').columns.tolist()
for non_numeric_col in non_numeric_cols:
label_encoder = LabelEncoder()
df[non_numeric_col] = label_encoder.fit_transform(df[non_numeric_col])
d = df.corr()[target].to_dict()
d.pop(target)
keys = sorted(d.items(), key=lambda x: x[0], reverse=True)
fig1 = plt.figure()
hm = sns.heatmap(df.corr(), annot = True)
hm.set(title = "Correlation matrix of dataset\n")
fig2 = plt.figure()
sns.regplot(x=df[keys[0][0]], y=df[target])
fig3 = plt.figure()
sns.regplot(x=df[keys[1][0]], y=df[target])
fig4 = plt.figure()
sns.regplot(x=df[keys[2][0]], y=df[target])
return d, fig1, fig2, fig3, fig4
demo = gr.Interface(fn=findCorrelation, inputs=[gr.File(), 'text'], outputs=[gr.Label(num_top_classes = 10), gr.Plot(), gr.Plot(), gr.Plot(), gr.Plot()], title="Find correlation")
demo.launch(debug=True)