{"id":386,"date":"2020-08-19T18:57:24","date_gmt":"2020-08-19T09:57:24","guid":{"rendered":"http:\/\/cedartrees.co.kr\/?p=386"},"modified":"2021-04-03T19:14:31","modified_gmt":"2021-04-03T10:14:31","slug":"rnn-time-series-prediction1","status":"publish","type":"post","link":"http:\/\/blog.cedartrees.co.kr\/index.php\/2020\/08\/19\/rnn-time-series-prediction1\/","title":{"rendered":"RNN Time-Series \uc608\uce21(1)"},"content":{"rendered":"\n<p>\ud574\ub2f9 \uc608\uce21 \ubaa8\ub378\uc758 \uc6d0\ubcf8 \ub9c1\ud06c\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4. <br>\ubcf8 \uc608\uc81c\ub294 \uc544\ub798\uc5d0 \uad6c\ud604\ub41c \ub9c1\ud06c\uc640 \ub3d9\uc77c\ud55c \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud588\uace0 RNN\uc758 \ubaa8\ub378\uacfc \ud559\uc2b5 \ubd80\ubd84\uc758 \ub85c\uc9c1\uc744 \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p><a href=\"https:\/\/stackabuse.com\/time-series-prediction-using-lstm-with-pytorch-in-python\/\">https:\/\/stackabuse.com\/time-series-prediction-using-lstm-with-pytorch-in-python\/<\/a><\/p>\n\n\n\n<p>\ud544\uc694\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc784\ud3ec\ud2b8 \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import torch\nimport torch.nn as nn\nimport seaborn as sns\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt<\/pre>\n\n\n\n<p>seaborn\uc5d0 \uc0d8\ud50c \ub370\uc774\ud130 \uc911\uc5d0\uc11c flights \uc815\ubcf4\ub97c \ub85c\ub4dc\ud569\ub2c8\ub2e4. <br>seaborn \ud328\ud0a4\uc9c0\uc5d0\ub294 flights \uc678\uc5d0\ub3c4 \ub2e4\uc591\ud55c \uc0d8\ud50c \ub370\uc774\ud130\uac00 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sns.get_dataset_names()<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">['anscombe', 'attention', 'brain_networks', 'car_crashes','diamonds', 'dots', 'exercise', 'flights','fmri', 'gammas', 'geyser', 'iris', 'mpg','penguins', 'planets', 'tips', 'titanic']<\/pre>\n\n\n\n<p>flights \ub370\uc774\ud130\ub97c DataFrame \ud615\ud0dc\ub85c \uc785\ub825 \ubc1b\uc544\uc11c \uc0c1\uc704 5\uac1c \ub370\uc774\ud130\ub97c \ucd9c\ub825\ud574\ubd05\ub2c8\ub2e4. \ud574\ub2f9 \ub370\uc774\ud130\ud504\ub808\uc784\uc740 year, month, passengers  \uceec\ub7fc\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130\uc758 \ud615\uc2dd\uc740 \ud574\ub2f9 \ub144\ub3c4\uc5d0 \uc6d4\ubcc4\ub85c \uc2b9\uac1d\uc758 \uc218\uac00 \ub4f1\ub85d\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub370\uc774\ud130\ub294 1949~1960\ub144\uae4c\uc9c0\uc758 143\uac1c \ub370\uc774\ud130\uc785\ub2c8\ub2e4.  \ucc38\uace0\ub85c df.head()\ub85c\ub294 \uc0c1\uc704 5\uac1c \ub370\uc774\ud130\ub97c df.tail()\ub85c\ub294 \ud558\uc704 5\uac1c\uc758 \ub370\uc774\ud130\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">df = sns.load_dataset('flights')\ndf.head()<\/pre>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>idx<\/th><th>year<\/th><th>month<\/th><th>passengers<\/th><\/tr><\/thead><tbody><tr><td>0<\/td><td>1949<\/td><td>January<\/td><td>112<\/td><\/tr><tr><td>1<\/td><td>1949<\/td><td>February<\/td><td>118<\/td><\/tr><tr><td>2<\/td><td>1949<\/td><td>March<\/td><td>132<\/td><\/tr><tr><td>3<\/td><td>1949<\/td><td>April<\/td><td>129<\/td><\/tr><tr><td>4<\/td><td>1949<\/td><td>May<\/td><td>121<\/td><\/tr><\/tbody><\/table><figcaption>\uc0d8\ud50c \ub370\uc774\ud130<\/figcaption><\/figure>\n\n\n\n<p>\ub370\uc774\ud130\uc14b\uc758 \uacb0\uce21\uce58\ub97c \ub2e4\uc74c\uacfc \uac19\uc774 \ud655\uc778\ud574\ubcf4\uace0 \uc608\uce21\uc5d0 \uc0ac\uc6a9\ud560 \uceec\ub7fc\uc778 passengers\uac00 \uc5b4\ub5bb\uac8c \ubcc0\ud654\ud558\ub294\uc9c0 \ucd94\uc774 \uc815\ubcf4\ub97c \ucd9c\ub825\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"377\" height=\"248\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-3.png\" alt=\"\" class=\"wp-image-391\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-3.png 377w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-1-3-300x197.png 300w\" sizes=\"(max-width: 377px) 100vw, 377px\" \/><\/figure>\n\n\n\n<p>\ud559\uc2b5\uc5d0 \uc55e\uc11c \ud6c8\ub828\uc6a9 \ub370\uc774\ud130\uc640 \uac80\uc99d\uc6a9 \ub370\uc774\ud130\ub97c \ubd84\ub9ac\ud558\uaca0\uc2b5\ub2c8\ub2e4. <br>\ud559\uc2b5\uc6a9 \ub370\uc774\ud130\ub294 59~60\ub144\ub3c4 \ub370\uc774\ud130\ub97c \uc81c\uc678\ud55c \ub098\uba38\uc9c0 \ub370\uc774\ud130\uc785\ub2c8\ub2e4. \ud574\ub2f9 \ubaa8\ub378\uc744 \ud1b5\ud574\uc11c 2\uac1c\ub144\ub3c4\uc758 \uc2b9\uac1d \ucd94\uc774\ub97c \uc608\uce21\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">data = df['passengers'].values.astype(float)\nvalid_data_size = 24 \ntrain_data = data[:-valid_data_size]\nvalid_data = data[-valid_data_size:]<\/pre>\n\n\n\n<p>\ub370\uc774\ud130\ub97c \ubd84\ub9ac\ud55c \ud6c4 MinMaxScaler\ub97c \ud1b5\ud574\uc11c \ub370\uc774\ud130\ub97c 0~1 \uc0ac\uc774\uc758 \uac12\uc73c\ub85c \ubcc0\ud658\ud569\ub2c8\ub2e4.<br>\uc2a4\ucf00\uc77c\ub9c1 \uc791\uc5c5\uc744 \ud1b5\ud574 \ub2e4\ucc28\uc6d0 \ub370\uc774\ud130\uc758 \uac12\ub4e4\uc744 \ube44\uad50 \ubd84\uc11d\ud558\uae30 \uc27d\uac8c \ub9cc\ub4e4\uc5b4\uc8fc\uace0 \uc790\ub8cc\uc758 \uc624\ubc84\ud50c\ub85c\uc6b0\ub098 \uc5b8\ub354\ud50c\ub85c\uc6b0\ub97c \ubc29\uc9c0\ud574\uc8fc\uace0 \ucd5c\uc801\ud654 \uacfc\uc815\uc5d0\uc11c \uc548\uc815\uc131 \ubc0f \uc218\ub834 \uc18d\ub3c4\ub97c \ud5a5\uc0c1\uc2dc\ucf1c\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from sklearn.preprocessing import MinMaxScaler\nscaler = MinMaxScaler()\ntrain_data_norm = scaler.fit_transform(train_data.reshape(-1,1))<\/pre>\n\n\n\n<p>\ud559\uc2b5\uc6a9 \ub370\uc774\ud130\ub294 \uc544\ub798\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c \uc0dd\uc131\ud569\ub2c8\ub2e4. \ud559\uc2b5 \ub370\uc774\ud130\uc14b\uc740 1\uc6d4-12\uc6d4 \ub370\uc774\ud130\ub97c \ud1b5\ud574 \ub2e4\uc74c\ud574 1\uc6d4\uc758 \uc2b9\uac1d \uc218\ub97c \uc608\uce21\ud558\uace0 2\uc6d4-\ub2e4\uc74c\ud574 1\uc6d4 \ub370\uc774\ud130\ub97c \ud1b5\ud574 2\uc6d4\uc758 \uc2b9\uac1d \uc218\ub97c \uc608\uce21\ud558\ub294 \ud615\ud0dc\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sequence_length = 12 # monthly\ndef make_batch(input_data, sl):\n    train_x = []\n    train_y = []\n    L = len(input_data)\n    for i in range(L-sl):\n        train_seq = input_data[i:i+sl]\n        train_label = input_data[i+sl:i+sl+1]\n        train_x.append(train_seq)\n        train_y.append(train_label)\n    return train_x, train_y<\/pre>\n\n\n\n<p>Array \ud615\ud0dc\uc758 \ub370\uc774\ud130\ub97c \ud30c\uc774\ud1a0\uce58 \ud150\uc11c\ub85c \ubcc0\ud658\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">train_x, train_y = make_batch(train_data_norm, sequence_length)\ntensor_x = torch.Tensor(train_x)\ntensor_y = torch.Tensor(train_y)<\/pre>\n\n\n\n<p>\ud559\uc2b5\uc744 \uc704\ud55c \ub370\uc774\ud130\uc758 \ucd5c\uc885 \ud615\ud0dc\ub294 \uc544\ub798\uc640 \uac19\uc740 \ud615\ud0dc\uac00 \ub429\ub2c8\ub2e4.<br>RNN \uc785\ub825 \uc790\ub8cc\uc758 \ud2b9\uc131\uc0c1 \ubc30\uce58\uc0ac\uc774\uc988, \ud0c0\uc784 \uc2dc\ud000\uc2a4, \uc785\ub825 \ubca1\ud130\uc758 \ud615\ud0dc\ub97c \uac00\uc9c0\uac8c \ub429\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">tensor_x.size(), tensor_y.size()\noutput : (torch.Size([108, 12, 1]), torch.Size([108, 1, 1]))<\/pre>\n\n\n\n<p>\uc774\uc81c \ud559\uc2b5\uc744 \uc704\ud55c \ubaa8\ub378 \ud074\ub798\uc2a4\ub97c \ub9cc\ub4ed\ub2c8\ub2e4. \ubaa8\ub378\uc740 LSTM\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. <br>\ubaa8\ub378\uc758 \ucd08\uae30\ud654\ub97c \uc704\ud574\uc11c \uc785\ub825 \ubca1\ud130, \uc785\ub825 \uc2dc\ud000\uc2a4 \uc815\ubcf4\ub97c \uac01\uac01 \uc124\uc815\ud569\ub2c8\ub2e4. LSTM\uc758 \ucd9c\ub825 \ubca1\ud130\ub294 100\uc73c\ub85c \uc8fc\uc5c8\uace0 \ub2e8\uce35\uc774 \uc544\ub2cc 4\uac1c \uce35\uc73c\ub85c \uad6c\uc131\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798\uc640 \uac19\uc740 \ubaa8\ub378\uc744 \ud1b5\ud574 \uad6c\uc131\ud558\uba74 \uc785\ub825 \uc2dc\ud000\uc2a4\uac00 12\uc774\uae30 \ub54c\ubb38\uc5d0 \ucd5c\uc885 LSTM \ucd9c\ub825\uc758 \ubca1\ud130\ub294 (N, 12, 100)\uc758 \ud615\ud0dc\ub85c \ub9cc\ub4e4\uc5b4\uc9d1\ub2c8\ub2e4. \ud574\ub2f9 \ubaa8\ub378\uc5d0\uc11c\ub294 12\uac1c\uc758 \uc2dc\ud000\uc2a4\uc5d0\uc11c \ub098\uc624\ub294 \ub370\uc774\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \ub9c8\uc9c0\ub9c9 \uc2a4\ud15d\uc5d0\uc11c \ub098\uc624\ub294 \uc2dc\ud000\uc2a4 \uc815\ubcf4\ub9cc \uc0ac\uc6a9\ud558\uac8c \ub418\uae30 \ub54c\ubb38\uc5d0 RNN\uc758 \ubaa8\ub378 \uc911\uc5d0\uc11c Many-to-One\uc5d0 \ud574\ub2f9\ud55c\ub2e4\uace0 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class RNN(nn.Module):\n    \n    def __init__(self):\n        super().__init__()\n        self.input_vector = 1\n        self.sequence_length = 12\n        self.output_vector = 100\n        self.num_layers = 4\n        \n        self.lstm = nn.LSTM(input_size=self.input_vector, hidden_size=self.output_vector, num_layers=self.num_layers, batch_first=True)\n        self.linear = nn.Sequential(\n            nn.Linear(self.output_vector, 50),\n            nn.Linear(50, 30),\n            nn.Linear(30, 10),\n            nn.Linear(10,1)\n        )\n        \n    def forward(self, x):\n        output, _ = self.lstm(x) #(hidden, cell) \ub370\uc774\ud130\ub294 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc74c\n        return self.linear(output[:,-1,:])\n\nmodel = RNN()<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">RNN(\n  (lstm): LSTM(1, 100, num_layers=4, batch_first=True)\n  (linear): Sequential(\n    (0): Linear(in_features=100, out_features=50, bias=True)\n    (1): Linear(in_features=50, out_features=30, bias=True)\n    (2): Linear(in_features=30, out_features=10, bias=True)\n    (3): Linear(in_features=10, out_features=1, bias=True)\n  )\n)<\/pre>\n\n\n\n<p>\ud574\ub2f9 \ubaa8\ub378\uc758 \ud559\uc2b5\uc744 \uc218\ud589\ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">optimizer = torch.optim.Adam(model.parameters(), lr=0.001)\ncriterion = nn.MSELoss()\n\nepochs = 501\n\nfor i in range(epochs):\n    model.train()\n    \n    output = model(tensor_x)\n    loss = criterion(output, tensor_y.view(-1,1))\n    \n    optimizer.zero_grad()\n    loss.backward()\n    optimizer.step()\n    \n    if i%25 == 0:\n        print('Epoch {}, Loss {:.5f}'.format(i, loss.item()))<\/pre>\n\n\n\n<p>\ud559\uc2b5\uc774 \uc644\ub8cc\ub418\uba74 \ud574\ub2f9 \ubaa8\ub378\uc774 \uc6d0\ubcf8 \ub370\uc774\ud130\uc640 \ube44\uad50\ud558\uc5ec \uc5bc\ub9c8\ub098 \ucd94\uc774\ub97c \uc798 \ub098\ud0c0\ub0b4\ub294\uc9c0 \ud655\uc778\ud558\ub294 \uacfc\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \uc774 \uacfc\uc815\uc744 \uc704\ud574\uc11c \uc0ac\uc804\uc5d0 \ubd84\ub9ac\ud55c valid \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">valid_data_norm = train_data_norm[-valid_data_size:]\nvalid_x, _ = make_batch(valid_data_norm, sequence_length)<\/pre>\n\n\n\n<p>valid \ub370\uc774\ud130 \uc5ed\uc2dc \ud559\uc2b5\uacfc \ub3d9\uc77c\ud55c \uacfc\uc815\uc744 \uc218\ud589\ud569\ub2c8\ub2e4.<br>\ub2e4\ub9cc \ud559\uc2b5\uc774 \uc77c\uc5b4\ub098\ub294 \uac83\uc740 \uc544\ub2c8\uae30 \ub54c\ubb38\uc5d0 loss\ub97c \uacc4\uc0b0\ud558\uac70\ub098 \uc5ed\uc804\ud30c\uc640 \uac19\uc740 \ud504\ub85c\uc138\uc2a4\ub294 \uc218\ud589\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<br>\ub610\ud55c \ud574\ub2f9 \ub370\uc774\ud130\ub294 0,1 \uc0ac\uc774 \uac12\uc73c\ub85c \ubcc0\ud658\ud55c \ub370\uc774\ud130\uc774\uae30 \ub54c\ubb38\uc5d0 \uc774 \uac12\uc744 \ub2e4\uc2dc scaler\ub97c \ud1b5\ud574 \uc6d0\ub798 \uac12\uc758 \ud615\ud0dc\ub85c \ubcc0\uacbd\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">model.eval()\nwith torch.no_grad():\n    valid_tensor = torch.Tensor(valid_x)\n    predict = model(valid_tensor)\npredict = predict.data.numpy()\nactual_predictions = scaler.inverse_transform(predict)<\/pre>\n\n\n\n<p>\uc774\ub807\uac8c \ubcc0\uacbd\ud55c \ub370\uc774\ud130\ub97c \ud1b5\ud574\uc11c \uc6d0\ubcf8 \ub370\uc774\ud130\uc640 \uadf8\ub798\ud504\ub97c \uadf8\ub824\ubd05\ub2c8\ub2e4. blue \ub77c\uc778\uc774 \uc6d0\ubcf8 \ub370\uc774\ud130\uc774\uace0 red \ub77c\uc778\uc774 \uc608\uce21\ud55c \ub370\uc774\ud130\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">x = np.arange(120,132,1)\nplt.title('Month vs Passenger')\nplt.ylabel('Total Passengers')\nplt.grid(True)\nplt.autoscale(axis='x', tight=True)\nplt.plot(df['passengers'][0:132])\nplt.plot(x,actual_predictions)\nplt.show()<\/pre>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"389\" height=\"264\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-5.png\" alt=\"\" class=\"wp-image-387\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-5.png 389w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-5-300x204.png 300w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><figcaption>sequence_length=12<\/figcaption><\/figure><\/div>\n\n\n\n<p>\ucc38\uace0\ub85c \uc544\ub798\ub294 Sequence_Length=6\uc73c\ub85c \uc608\uce21\ud55c \uacb0\uacfc \uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" width=\"391\" height=\"264\" src=\"http:\/\/cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-6.png\" alt=\"\" class=\"wp-image-402\" srcset=\"http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-6.png 391w, http:\/\/blog.cedartrees.co.kr\/wp-content\/uploads\/2020\/08\/download-6-300x203.png 300w\" sizes=\"(max-width: 391px) 100vw, 391px\" \/><figcaption>Sequence_length=6<\/figcaption><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\ud574\ub2f9 \uc608\uce21 \ubaa8\ub378\uc758 \uc6d0\ubcf8 \ub9c1\ud06c\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4. \ubcf8 \uc608\uc81c\ub294 \uc544\ub798\uc5d0 \uad6c\ud604\ub41c \ub9c1\ud06c\uc640 \ub3d9\uc77c\ud55c \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\ud588\uace0 RNN\uc758 \ubaa8\ub378\uacfc \ud559\uc2b5 \ubd80\ubd84\uc758 \ub85c\uc9c1\uc744 \uc218\uc815\ud588\uc2b5\ub2c8\ub2e4. https:\/\/stackabuse.com\/time-series-prediction-using-lstm-with-pytorch-in-python\/ \ud544\uc694\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc784\ud3ec\ud2b8 \ud569\ub2c8\ub2e4. seaborn\uc5d0 \uc0d8\ud50c \ub370\uc774\ud130 \uc911\uc5d0\uc11c flights \uc815\ubcf4\ub97c \ub85c\ub4dc\ud569\ub2c8\ub2e4. seaborn \ud328\ud0a4\uc9c0\uc5d0\ub294 flights \uc678\uc5d0\ub3c4 \ub2e4\uc591\ud55c \uc0d8\ud50c \ub370\uc774\ud130\uac00 \uc788\uc2b5\ub2c8\ub2e4. [&#8216;anscombe&#8217;, &#8216;attention&#8217;, &#8216;brain_networks&#8217;, &#8216;car_crashes&#8217;,&#8217;diamonds&#8217;, &#8216;dots&#8217;, &#8216;exercise&#8217;, &#8216;flights&#8217;,&#8217;fmri&#8217;, &#8216;gammas&#8217;, &#8216;geyser&#8217;, &#8216;iris&#8217;, &#8216;mpg&#8217;,&#8217;penguins&#8217;, &#8216;planets&#8217;, &#8216;tips&#8217;, &#8216;titanic&#8217;] &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.cedartrees.co.kr\/index.php\/2020\/08\/19\/rnn-time-series-prediction1\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;RNN Time-Series \uc608\uce21(1)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[40,14],"tags":[120,61,121,122,55],"_links":{"self":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/386"}],"collection":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/comments?post=386"}],"version-history":[{"count":5,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/386\/revisions"}],"predecessor-version":[{"id":403,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/posts\/386\/revisions\/403"}],"wp:attachment":[{"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/media?parent=386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/categories?post=386"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.cedartrees.co.kr\/index.php\/wp-json\/wp\/v2\/tags?post=386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}