Spaces:
Runtime error
Runtime error
File size: 2,186 Bytes
aa26248 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
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()
if target in non_numeric_cols:
label_encoder = LabelEncoder()
df[non_numeric_col] = label_encoder.fit_transform(df[target])
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")
try:
fig2 = plt.figure()
sns.regplot(x=df[keys[0][0]], y=df[target])
except:
fig2 = plt.figure()
try:
fig3 = plt.figure()
sns.regplot(x=df[keys[1][0]], y=df[target])
except:
fig3 = plt.figure()
try:
fig4 = plt.figure()
sns.regplot(x=df[keys[2][0]], y=df[target])
except:
fig4 = plt.figure()
return d, fig1, fig2, fig3, fig4
with gr.Blocks() as demo:
with gr.Row():
with gr.Column():
file = gr.File()
with gr.Column():
inp = gr.Textbox(placeholder="Enter the target feature name", label="Target Variable")
btn = gr.Button("Find Correlation")
gr.Markdown(
"""
## Correlation with other numeric features
""")
with gr.Row():
labels = gr.Label(num_top_classes = 10)
gr.Markdown(
"""
## HeatMap
""")
with gr.Row():
fig1 = gr.Plot()
gr.Markdown(
"""
## Plot of top 3 correlated features
""")
with gr.Row():
with gr.Column():
fig2 = gr.Plot()
with gr.Column():
fig3 = gr.Plot()
with gr.Row():
fig4 = gr.Plot()
with gr.Row():
gr.Examples(
examples = [["boston.csv", "MEDV"]], fn=findCorrelation, inputs=[file, inp], outputs=[labels, fig1, fig2, fig3, fig4], cache_examples=True)
btn.click( fn=findCorrelation, inputs=[file, inp], outputs=[labels, fig1, fig2, fig3, fig4])
demo.launch() |