Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,10 +1,45 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import pandas as pd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
|
| 4 |
def predict(file_obj):
|
| 5 |
-
df = pd.read_csv(file_obj)
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
|
| 9 |
-
iface = gr.Interface(predict,inputs="file",outputs="
|
| 10 |
iface.launch(inline=False)
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import pandas as pd
|
| 3 |
+
import numpy as np
|
| 4 |
+
import pandas as pd
|
| 5 |
+
import scipy.stats as ss
|
| 6 |
+
import seaborn as sns
|
| 7 |
+
from scipy.stats import chi2_contingency
|
| 8 |
+
import numpy as np
|
| 9 |
+
import seaborn as sns
|
| 10 |
+
import matplotlib.pyplot as plt
|
| 11 |
+
rows= []
|
| 12 |
+
def cramers_V(var1,var2) :
|
| 13 |
+
crosstab =np.array(pd.crosstab(var1,var2, rownames=None, colnames=None)) # Cross table building
|
| 14 |
+
stat = chi2_contingency(crosstab)[0] # Keeping of the test statistic of the Chi2 test
|
| 15 |
+
obs = np.sum(crosstab) # Number of observations
|
| 16 |
+
mini = min(crosstab.shape)-1 # Take the minimum value between the columns and the rows of the cross table
|
| 17 |
+
return (stat/(obs*mini))
|
| 18 |
|
| 19 |
def predict(file_obj):
|
| 20 |
+
df = pd.read_csv(file_obj.name,dtype=str)
|
| 21 |
+
cat_df = df.select_dtypes(include=['object']).copy()
|
| 22 |
+
for var1 in cat_df:
|
| 23 |
+
col = []
|
| 24 |
+
for var2 in cat_df :
|
| 25 |
+
cramers =cramers_V(cat_df[var1], cat_df[var2]) # Cramer's V test
|
| 26 |
+
col.append(round(cramers,2)) # Keeping of the rounded value of the Cramer's V
|
| 27 |
+
rows.append(col)
|
| 28 |
+
cramers_results = np.array(rows)
|
| 29 |
+
df_final= pd.DataFrame(cramers_results, columns = cat_df.columns, index =cat_df.columns)
|
| 30 |
+
# return df_final
|
| 31 |
+
data = np.random.randint(low=1,
|
| 32 |
+
high=1000,
|
| 33 |
+
size=(10, 10))
|
| 34 |
+
annot = True
|
| 35 |
+
|
| 36 |
+
# plotting the heatmap
|
| 37 |
+
hm = sns.heatmap(data=df_final,
|
| 38 |
+
annot=annot)
|
| 39 |
+
# plt.show()
|
| 40 |
+
# plt.figure()
|
| 41 |
+
return plt.gcf()
|
| 42 |
|
| 43 |
|
| 44 |
+
iface = gr.Interface(predict,inputs="file",outputs="plot",title='Correlation Tool for Categorical features',description="This tool identifies and explains the correlation between categorical features.")
|
| 45 |
iface.launch(inline=False)
|