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.pop(target) print(d) keys = sorted(d.items(), key=lambda x: x[0], reverse=True) print(keys) print(type(keys)) fig1 = plt.figure() hm = sns.heatmap(df.corr(), annot = True) hm.set(title = "Correlation matrix of dataset\n") print("\n Fig 1") fig2 = plt.figure() # use the function regplot to make a scatterplot print(keys[0]) sns.regplot(x=df[keys[0]], y=df[target]) print(df[keys[0]]) print("\n Fig 2") fig3 = plt.figure() # use the function regplot to make a scatterplot sns.regplot(x=df[keys[1]], y=df[target]) print("\n Fig 3") fig4 = plt.figure() # use the function regplot to make a scatterplot sns.regplot(x=df[keys[2]], y=df[target]) print("\n Fig 4") 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)