File size: 1,213 Bytes
fac37fe
 
 
 
 
 
d4e49b0
43ca9c2
e42834f
a79a6a1
88a936b
 
 
 
a79a6a1
43ca9c2
e42834f
88a936b
a79a6a1
6448874
351771b
 
ec76814
 
 
6448874
fac37fe
d4e49b0
6448874
 
fac37fe
ec76814
d4e49b0
 
 
ec76814
d4e49b0
 
 
ec76814
 
 
 
6448874
ec76814
fac37fe
d4e49b0
b58fdfd
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
import gradio as gr
import pandas as pd
from sklearn import datasets
import seaborn as sns
import matplotlib.pyplot as plt

def findCorrelation(dataset, target):
  
  print(dataset.name)
  print("\n")
  
  print(target)
  print(type(target))
  print(str(target))
  print("\n")
  
  df = pd.read_csv(dataset.name)
  print(df)
  print("\n")
  
  d = df.corr()[target].to_dict()
  d = d.pop(target)
  print(d)
  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()
  # use the function regplot to make a scatterplot
  sns.regplot(x=keys[0], y=df[target])
  
  fig3 = plt.figure()
  # use the function regplot to make a scatterplot
  sns.regplot(x=keys[1], y=df[target])

  fig4 = plt.figure()
  # use the function regplot to make a scatterplot
  sns.regplot(x=keys[2], y=df[target])
  
  
  labels = {key: d[key] for key in keys[10]}
  
  return labels, fig1, fig2, fig3, fig4

demo = gr.Interface(fn=findCorrelation, inputs=[gr.File(), 'text'], outputs=[gr.Label(), gr.Plot(), gr.Plot(), gr.Plot(), gr.Plot()], title="Find correlation")
demo.launch(debug=True)