File size: 1,863 Bytes
fac37fe
 
 
 
 
956127b
fac37fe
d4e49b0
ca1de39
956127b
43ca9c2
956127b
43ca9c2
c408675
956127b
e1564de
6448874
351771b
68c8a8e
43855cb
956127b
 
6448874
fac37fe
d4e49b0
cdfa50b
4057e5d
 
 
 
 
d4e49b0
4057e5d
 
 
 
 
d4e49b0
4057e5d
 
 
 
 
 
50b9a9e
fac37fe
ca1de39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4057e5d
ca1de39
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
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")
    btn = gr.Button("Find Correlation")
    with gr.Row():
       labels = gr.Label(num_top_classes = 10)
    with gr.Row():
       fig1 = gr.Plot()
    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])
    btn.click( fn=findCorrelation, inputs=[file, inp], outputs=[labels, fig1, fig2, fig3, fig4])

demo.launch()