ium_434742/avocado-preprocessing.sh

41 lines
1.4 KiB
Bash
Raw Normal View History

2021-03-28 17:43:27 +02:00
#! /usr/bin/env bash
2021-03-28 12:23:39 +02:00
# zadanie 5
# pobranie zbioru danych
kaggle datasets download -d timmate/avocado-prices-2020
unzip -o avocado-prices-2020.zip
2021-03-28 16:55:29 +02:00
TOTAL_SIZE=$(wc -l avocado-updated-2020.csv | awk '{print $1}')
2021-03-28 12:23:39 +02:00
# przetwarzanie pliku
grep -P "^$" -n avocado-updated-2020.csv
# usuniecie zbednej kolumny year (redundantne dane)
2021-03-28 16:22:31 +02:00
cut -d ',' -f12 --complement avocado-updated-2020.csv
2021-03-28 15:22:47 +02:00
2021-03-28 16:22:31 +02:00
head -n 1 avocado-updated-2020.csv > header.csv
2021-03-28 15:24:06 +02:00
head -n -1 avocado-updated-2020.csv | shuf > avocado-updated-2020-shuf.csv
2021-03-28 12:23:39 +02:00
2021-03-28 16:25:25 +02:00
head -n "$1" avocado-updated-2020-shuf.csv > avocado-2020.csv
2021-03-28 17:34:48 +02:00
let truncated_size=$(wc -l avocado-2020.csv | awk '{print $1}')
2021-03-28 17:47:32 +02:00
let test_size=$(($truncated_size*2/10))
let dev_size=$(($truncated_size*2*2/10))
let train_size=$(($truncated_size*2*2/10+1))
2021-03-28 16:22:31 +02:00
2021-03-28 16:39:22 +02:00
# podzial na train/dev/test 6/2/2
2021-03-28 17:21:00 +02:00
head -n $test_size avocado-2020.csv > avocado-updated-2020-test.csv
head -n $dev_size avocado-2020.csv | tail -n $test_size > avocado-updated-2020-dev.csv
tail -n +$train_size avocado-2020.csv > avocado-updated-2020-train.csv
2021-03-28 12:23:39 +02:00
wc -l avocado-updated-2020-*.csv
cat header.csv avocado-updated-2020-test.csv > test.csv
cat header.csv avocado-updated-2020-dev.csv > dev.csv
cat header.csv avocado-updated-2020-train.csv > train.csv
# usuniecie pomocniczych plikow
rm avocado-updated-2020-test.csv
rm avocado-updated-2020-dev.csv
rm avocado-updated-2020-train.csv
rm avocado-updated-2020-shuf.csv
rm avocado-prices-2020.zip
2021-03-28 12:35:37 +02:00
rm header.csv