Added Evaluation, Preprocessing, Training, Transformation folders. Preprocessing is just a rework of the folder for the new structure of the old preprocessing folder. Training and Transformation are the old project file broken up into two parts and restructured. Evaluation is for evaluating the predictive power of the model.
435 lines
90 KiB
Plaintext
435 lines
90 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import os\n",
|
|
"from tqdm import tqdm"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"#Getting a list of files in raw data folder\n",
|
|
"filenames = os.listdir('./processed_data/')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"header_wanted = [\n",
|
|
" 'HOURLYVISIBILITY',\n",
|
|
" 'HOURLYDRYBULBTEMPC',\n",
|
|
" 'HOURLYWETBULBTEMPC',\n",
|
|
" 'HOURLYDewPointTempC',\n",
|
|
" 'HOURLYRelativeHumidity',\n",
|
|
" 'HOURLYWindSpeed',\n",
|
|
" #'HOURLYWindGustSpeed',\n",
|
|
" 'HOURLYStationPressure',\n",
|
|
" #'HOURLYPressureTendency',\n",
|
|
" #'HOURLYPressureChange',\n",
|
|
" #'HOURLYSeaLevelPressure',\n",
|
|
" #'HOURLYPrecip',\n",
|
|
" #'HOURLYAltimeterSetting'\n",
|
|
"]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"usecols = ['DATE','STATION'] + header_wanted"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"100%|████████████████████████████████████████████████████████████████████████████████| 372/372 [00:22<00:00, 16.79it/s]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#Loading all files into a pandas Dataframe\n",
|
|
"tqdm.pandas()\n",
|
|
"df = pd.concat([pd.read_csv('./processed_data/{}'.format(x), usecols=usecols, low_memory=False) for x in tqdm(filenames)])\n",
|
|
"#df[header_wanted] = (df[header_wanted] - df[header_wanted].mean()) / (df[header_wanted].max() - df[header_wanted].min())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"At this point all the data has been loaded into a single dataframe and any data changes have been made. The next step is to break the data up by WBAN and place in a 2D array at the appropriate grid cell. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"stations = pd.read_csv(\"./stations_mask.csv\", usecols = ['STATION_ID', 'LON_SCALED', 'LAT_SCALED'])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"height = 20\n",
|
|
"width = 40\n",
|
|
"depth = 24 * 365 * 2"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"mask = [([0] * width) for i in range(height)]\n",
|
|
"\n",
|
|
"wban_loc = dict(zip(stations.STATION_ID,zip(stations.LON_SCALED,stations.LAT_SCALED)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"grid = [([pd.DataFrame()] * width) for i in range(height)]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"100%|████████████████████████████████████████████████████████████████████████████████| 372/372 [03:55<00:00, 1.58it/s]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for key, value in tqdm(wban_loc.items()):\n",
|
|
" mask[value[1]][value[0]] = 1\n",
|
|
" grid[value[1]][value[0]] = df.loc[df.STATION == key]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"%matplotlib inline"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.image.AxesImage at 0x16a560541d0>"
|
|
]
|
|
},
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x16a009853c8>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.imshow(mask)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def create_frames(data,height, width, depth):\n",
|
|
" days = []\n",
|
|
" frames = []\n",
|
|
" for i in tqdm(range(depth)):\n",
|
|
" frame = np.zeros((height,width,7))\n",
|
|
" frame[:,:,:] = np.nan\n",
|
|
" for y in range(height):\n",
|
|
" for x in range(width):\n",
|
|
" if(not data[y][x].empty):\n",
|
|
" frame[y][x] = data[y][x].iloc[[i],1:8].values.flatten()\n",
|
|
" if((i+1)%24 != 0):\n",
|
|
" frames.append(frame)\n",
|
|
" else:\n",
|
|
" frames.append(frame)\n",
|
|
" days.append(frames)\n",
|
|
" frames = []\n",
|
|
" return np.array(days)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def average_grid(mask,data, height, width):\n",
|
|
" for i in range(height):\n",
|
|
" for j in range(width):\n",
|
|
" if(mask[i][j] != 1):\n",
|
|
" neighbors = get_neighbors(j,i,data)\n",
|
|
" data[i][j] = np.nanmean(neighbors, axis=0)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def get_neighbors(x,y,g):\n",
|
|
" neighbors = []\n",
|
|
" for i in [y-1,y,y+1]:\n",
|
|
" for j in [x-1,x,x+1]:\n",
|
|
" if(i >= 0 and j >= 0):\n",
|
|
" if(i != y or j != x ):\n",
|
|
" try:\n",
|
|
" neighbors.append(g[i][j])\n",
|
|
" except:\n",
|
|
" pass\n",
|
|
" return np.array(neighbors)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def store_sequence(frames):\n",
|
|
" import hickle as hkl\n",
|
|
" train_frames = []\n",
|
|
" train_sources = []\n",
|
|
" validation_frames = []\n",
|
|
" validation_sources = []\n",
|
|
" test_frames = []\n",
|
|
" test_sources = []\n",
|
|
" \n",
|
|
" for day in range(len(frames)):\n",
|
|
" for hour in range(len(frames[day])):\n",
|
|
" if(day/len(frames) < .6):\n",
|
|
" train_sources += \"{}\".format(day)\n",
|
|
" train_frames.append(frames[day][hour])\n",
|
|
" elif(day/len(frames) >= .6 and day/len(frames) < .8):\n",
|
|
" validation_sources += \"{}\".format(day)\n",
|
|
" validation_frames.append(frames[day][hour])\n",
|
|
" else:\n",
|
|
" test_sources += \"{}\".format(day)\n",
|
|
" test_frames.append(frames[day][hour])\n",
|
|
" \n",
|
|
" hkl.dump(np.array(train_frames), '../data/x_train.hkl')\n",
|
|
" hkl.dump(train_sources, '../data/sources_train.hkl')\n",
|
|
" hkl.dump(np.array(validation_frames), '../data/x_val.hkl')\n",
|
|
" hkl.dump(validation_sources, '../data/sources_val.hkl')\n",
|
|
" hkl.dump(np.array(test_frames), '../data/x_test.hkl')\n",
|
|
" hkl.dump(test_sources, '../data/sources_test.hkl')\n",
|
|
" "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Splits is a dictionary holding train, test, val\n",
|
|
"the values for train, test, and val are lists of tuples holding category and folder name\n",
|
|
"in the end each image gets a source associated with it\n",
|
|
"there is only one data and one source hickle dump for each of train, test, and val"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"100%|██████████████████████████████████████████████████████████████████████████| 17520/17520 [1:19:50<00:00, 3.66it/s]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"frames = create_frames(grid, height, width,depth)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x16a22fa3198>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig=plt.figure(figsize=(15,10))\n",
|
|
"columns = 3\n",
|
|
"rows = 4\n",
|
|
"for i in range(1,columns+rows +1):\n",
|
|
" fig.add_subplot(rows,columns,i)\n",
|
|
" plt.imshow(frames[0,0,:,:,i-1])\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
" 3%|██▋ | 24/730 [00:29<14:19, 1.22s/it]c:\\users\\dasputer\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:6: RuntimeWarning: Mean of empty slice\n",
|
|
" \n",
|
|
"100%|████████████████████████████████████████████████████████████████████████████████| 730/730 [14:17<00:00, 1.17s/it]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"#TODO use loop to average each frame\n",
|
|
"for x in tqdm(range(len(frames))):\n",
|
|
" for y in range(len(frames[0])):\n",
|
|
" average_grid(mask, frames[x][y], height, width )"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x16a565e3198>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig=plt.figure(figsize=(15,10))\n",
|
|
"columns = 3\n",
|
|
"rows = 4\n",
|
|
"for i in range(1,columns+rows +1):\n",
|
|
" fig.add_subplot(rows,columns,i)\n",
|
|
" plt.imshow(frames[0,0,:,:,i-1])\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(730, 24, 20, 40, 7)"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"frames.shape"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"store_sequence(frames)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"At this point the data has been processed and made into discrete frames and it is time to run it through the PredNet architecture for training."
|
|
]
|
|
}
|
|
],
|
|
"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.6.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|