-
Notifications
You must be signed in to change notification settings - Fork 0
/
EDA.py
50 lines (39 loc) · 1.65 KB
/
EDA.py
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
import numpy as np
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# Κάνω import το csv file, για να διαβάσω τα δεδομένα της άσκησης.
df = pd.read_csv('Concrete_Data.csv', sep=",")
# Κάνω import το excel_file, με στόχο να διαβάσω τα ονόματα των δεδομένων.
xls_file = pd.read_excel('Concrete_Data.xls', sheet_name='Sheet1')
names_of_cols = list(xls_file.columns)
# Διαδικασία για να διαβάσω τα ονόματα των στήλων, χωρίς τις μονάδες μέτρησεις.
names = []
for i in names_of_cols:
names.append(i.split('(')[0])
# Ονομάζω τις στήλες του csv file, με τα ονόματα που έχω εξάγει.
dir_names = {}
for i, name in enumerate(list(df.columns)):
dir_names[name] = names[i]
df = df.rename(columns = dir_names)
print(df.head(5))
# Απαραίτητος έλεγχος για 'null' τιμές στα δεδομένα μας.
print(df.isnull().sum())
def EDA(data):
sns.pairplot(data, diag_kind='kde')
#plt.savefig('pairplot.png')
plt.show()
plt.close()
data.hist(figsize=(15,15))
#plt.savefig('histogramm.png')
plt.show()
plt.close()
sns.set(font_scale=1.15)
plt.figure(figsize=(14, 10))
sns.heatmap(data.corr(), vmax=.8, linewidths=0.01, square=True, annot=True, cmap="BuPu", linecolor="black")
plt.title('Correlation between features')
#plt.savefig('heatmap.png')
plt.show()
plt.close()
return
EDA(df) #Συνάρτηση με τα πλοταρίσματα των χαρακτηριστικών για περισσότερη κατανόηση των features.