commit 997d630c3e89d825e83133b6d895e6c4e0175774 Author: s444501 Date: Sun Mar 20 15:07:09 2022 +0100 init diff --git a/ium-data.py b/ium-data.py new file mode 100644 index 0000000..19af635 --- /dev/null +++ b/ium-data.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 + +from kaggle.api.kaggle_api_extended import KaggleApi +import pandas as pd +import matplotlib.pyplot as plt +from sklearn.model_selection import train_test_split + +pd.set_option("display.max_rows", None) + + +def column_stat(analyzed_set, column_name): + rating_min = analyzed_set[column_name].min() + rating_max = analyzed_set[column_name].max() + rating_mean = round(analyzed_set[column_name].mean(), 3) + rating_median = analyzed_set[column_name].median() + rating_std = round(analyzed_set[column_name].std(), 3) + + print(f"Dla kolumny '{column_name}':") + print(f"Minimum: {rating_min}") + print(f"Maximum: {rating_max}") + print(f"Średnia: {rating_mean}") + print(f"Mediana: {rating_median}") + print(f"Odchylenie standardowe: {rating_std}") + + +# Pobieranie danych +api = KaggleApi() +api.authenticate() +api.dataset_download_files('arushchillar/disneyland-reviews', unzip=True) +disney = pd.read_csv('DisneylandReviews.csv', encoding='latin-1') + +# Nie zauważyłem w pliku żadnych artefaktów, które trzeba wyczyścić + +# Normalizacja kolumny 'Ratings' z przedziału [1;5] do przedziału [0;1] +disney['Rating'] = (disney['Rating'] - 1) / 4 + +# Normalizacja kolumny 'Review_Text' do lowercase +disney['Review_Text'] = disney['Review_Text'].str.lower() + + +# Podział na podzbiory: d_train, d_test, d_dev +d_train, d_remainder = train_test_split(disney, test_size=0.2, random_state=1, stratify=disney["Branch"]) +d_dev, d_test = train_test_split(d_remainder, test_size=0.5, random_state=1, stratify=d_remainder["Branch"]) + +# Statystyki +print(f"Wielkość całego zbioru: {disney.shape[0]}\n" + f"Inne statystyki:") +column_stat(disney, 'Rating') +print('') + +print(f"Wielkość zbioru trenującego: {d_train.shape[0]}\n" + f"Inne statystyki:") +column_stat(d_train, 'Rating') +print('') + +print(f"Wielkość zbioru walidującego: {d_dev.shape[0]}\n" + f"Inne statystyki:") +column_stat(d_dev, 'Rating') +print('') + +print(f"Wielkość zbioru testowego: {d_test.shape[0]}\n" + f"Inne statystyki:") +column_stat(d_test, 'Rating') +print('') + +# Rozkład ocen dla każdego oddziału +disney.hist(column='Rating', by='Branch', legend=True) +plt.suptitle('Rozkład ocen w całym zbiorze') +plt.show() +