318 lines
36 KiB
Plaintext
318 lines
36 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "7a7d7566",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Needed Imports\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import tensorflow as tf\n",
|
|
"import os\n",
|
|
"import pickle\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from math import isqrt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "72dca74e",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true' # this is required\n",
|
|
"os.environ['CUDA_VISIBLE_DEVICES'] = '2' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "148e8cc9",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"delim = ';'\n",
|
|
"user_count = 100\n",
|
|
"base_path = '/opt/iui-datarelease1-sose2021/'\n",
|
|
"Xpickle_file = './X.pickle'\n",
|
|
"ypickle_file = './y.pickle'\n",
|
|
"\n",
|
|
"# Function that opens and reads pickle Data from FS and returns the read data as NumpyArray\n",
|
|
"def load_pickles():\n",
|
|
" _p = open(Xpickle_file, 'rb')\n",
|
|
" X = pickle.load(_p)\n",
|
|
" _p.close()\n",
|
|
" \n",
|
|
" _p = open(ypickle_file, 'rb')\n",
|
|
" y = pickle.load(_p)\n",
|
|
" _p.close()\n",
|
|
" \n",
|
|
" return (np.asarray(X, dtype = pd.DataFrame), np.asarray(y, dtype = str))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "863651d8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Function used to save data as a pickle file\n",
|
|
"def save_pickle():\n",
|
|
"# _p = open(np.asarray(data, dtype=pd.DataFrame), 'wb')\n",
|
|
" _p = open(Xpickle_file, 'wb')\n",
|
|
" pickle.dump(X, _p)\n",
|
|
" _p.close()\n",
|
|
"\n",
|
|
"# _p = open(np.asarray(label, dtype=str), 'wb')\n",
|
|
" _p = open(ypickle_file, 'wb')\n",
|
|
" pickle.dump(y, _p)\n",
|
|
" _p.close()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "703abfd3",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Function that loads data from the picklefiles and prints them into NumpyArrays (one for Data and one for Lables)\n",
|
|
"def load_data():\n",
|
|
" if os.path.isfile(Xpickle_file) and os.path.isfile(ypickle_file):\n",
|
|
" return load_pickles()\n",
|
|
" data = []\n",
|
|
" label = []\n",
|
|
" for user in range(0, user_count):\n",
|
|
" user_path = base_path + str(user) + '/split_letters_csv/'\n",
|
|
" for file in os.listdir(user_path):\n",
|
|
" file_name = user_path + file\n",
|
|
" letter = ''.join(filter(lambda x: x.isalpha(), file))[0]\n",
|
|
" data.append(pd.read_csv(file_name, delim))\n",
|
|
" label.append(letter)\n",
|
|
" return (np.asarray(data, dtype = pd.DataFrame), np.asarray(label, dtype = str))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "c08e44d1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Load Data\n",
|
|
"X, y = load_data()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "fc1766db",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"count 13102.000000\n",
|
|
"mean 208.304457\n",
|
|
"std 206.732342\n",
|
|
"min 42.000000\n",
|
|
"50% 185.000000\n",
|
|
"90% 270.000000\n",
|
|
"91% 276.000000\n",
|
|
"92% 286.000000\n",
|
|
"93% 299.000000\n",
|
|
"94% 312.000000\n",
|
|
"95% 333.000000\n",
|
|
"96% 355.000000\n",
|
|
"97% 388.000000\n",
|
|
"98% 456.980000\n",
|
|
"99% 701.940000\n",
|
|
"max 11073.000000\n",
|
|
"dtype: float64"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Show how many datasets are make how many percent \n",
|
|
"X_len = np.asarray(list(map(len, X)))\n",
|
|
"l = []\n",
|
|
"sq_xlen = pd.Series(X_len)\n",
|
|
"ptiles = [x*0.01 for x in range(100)]\n",
|
|
"for i in ptiles:\n",
|
|
" l.append(sq_xlen.quantile(i))\n",
|
|
"plt.plot(l, ptiles)\n",
|
|
"sq_xlen.describe(percentiles=[x*0.01 for x in range(90,100)])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "bbca15d8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Remove outliner data from the dataset\n",
|
|
"threshold_p = 0.99\n",
|
|
"threshold = int(sq_xlen.quantile(threshold_p))\n",
|
|
"len_mask = np.where(X_len <= threshold)\n",
|
|
"\n",
|
|
"X_filter = X[len_mask]\n",
|
|
"y_filter = y[len_mask]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "0577b868",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Sliding Window Function\n",
|
|
"def sliding_window(data):\n",
|
|
" input_data = data\n",
|
|
" _window_sz = 10\n",
|
|
" sum_windows_passed = 0\n",
|
|
" \n",
|
|
" \n",
|
|
" data_above_thresh = []\n",
|
|
" thresh = 30\n",
|
|
" \n",
|
|
" values_sum = 0\n",
|
|
" \n",
|
|
" for i in range(0, len(input_data), _window_sz):\n",
|
|
" for j in range(i, min(i + _window_sz, len(input_data))):\n",
|
|
" values_sum += input_data[j]\n",
|
|
" data_above_thresh.append(values_sum / _window_sz)\n",
|
|
" \n",
|
|
" return data_above_thresh"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "ae4b01be",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"input_data = X[5]['Force']\n",
|
|
"window_sz = 10\n",
|
|
"sum_windows_passed = 0\n",
|
|
" \n",
|
|
" \n",
|
|
"win_above_thresh = []\n",
|
|
" \n",
|
|
" \n",
|
|
"for i in range(0, len(input_data), window_sz):\n",
|
|
" values_sum = 0\n",
|
|
" for j in range(i, min(i + window_sz, len(input_data))): \n",
|
|
" values_sum += input_data[j]\n",
|
|
"\n",
|
|
" win_above_thresh.append(values_sum / window_sz)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "7945cb5f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"thresh = 35\n",
|
|
"\n",
|
|
"_blep = np.where(np.asarray(win_above_thresh) > thresh)\n",
|
|
"ranges = []\n",
|
|
"for i in range(len(_blep[0])):\n",
|
|
" correlation = _blep[0][i] * window_sz\n",
|
|
" ranges.append(list(range(correlation, correlation + window_sz)))\n",
|
|
"ranges = np.array(ranges).flatten()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"id": "08ce93bc",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[<matplotlib.lines.Line2D at 0x7f6a3ccd33a0>]"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<Figure size 432x288 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {
|
|
"needs_background": "light"
|
|
},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"blepped = input_data[ranges]\n",
|
|
"plt.plot(range(len(blepped)), blepped)\n",
|
|
"plt.plot(range(len(input_data)), input_data)\n",
|
|
"plt.plot([140 for _ in range(2000)], [140 for _ in range(2000)])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "3455b49f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|