ium_464863/get_stats.py

37 lines
1.6 KiB
Python

# Necessary imports
import pandas as pd
# Display settings
pd.set_option('display.max_columns', None)
# Load the datasets
df = pd.read_csv('./datasets/data.csv', index_col='id')
df_train = pd.read_csv('./datasets/train.csv', index_col='id')
df_val = pd.read_csv('./datasets/val.csv', index_col='id')
df_test = pd.read_csv('./datasets/test.csv', index_col='id')
# Save statistics and target distribution to a stats.txt file
with open('stats.txt', 'w') as f:
f.write(f"Cały zbiór: {df.shape[0]} wierszy, {df.shape[1]} kolumn\n")
f.write(f"Zbiór treningowy: {df_train.shape[0]} wierszy, {df_train.shape[1]} kolumn\n")
f.write(f"Zbiór walidacyjny: {df_val.shape[0]} wierszy, {df_val.shape[1]} kolumn\n")
f.write(f"Zbiór testowy: {df_test.shape[0]} wierszy, {df_test.shape[1]} kolumn\n")
f.write(f"\nStatystyki całego zbioru:\n")
f.write(f"{df.describe()}\n")
f.write(f"\nStatystyki zbioru treningowego:\n")
f.write(f"{df_train.describe()}\n")
f.write(f"\nStatystyki zbioru walidacyjnego:\n")
f.write(f"{df_val.describe()}\n")
f.write(f"\nStatystyki zbioru testowego:\n")
f.write(f"{df_test.describe()}\n")
f.write(f"\nRozkład zmiennej docelowej w całym zbiorze:\n")
f.write(f"{df['diagnosis'].value_counts()}\n")
f.write(f"\nRozkład zmiennej docelowej w zbiorze treningowym:\n")
f.write(f"{df_train['diagnosis'].value_counts()}\n")
f.write(f"\nRozkład zmiennej docelowej w zbiorze walidacyjnym:\n")
f.write(f"{df_val['diagnosis'].value_counts()}\n")
f.write(f"\nRozkład zmiennej docelowej w zbiorze testowym:\n")
f.write(f"{df_test['diagnosis'].value_counts()}\n")