Open ogurim opened 3 years ago
제가 깃허브에 업로드되어 있는 ch09_09_RNN_StockPrediction.py 코드로 다시 한번 테스트 해봤는데 제 PC에서는 정상적으로 동작하는 것을 확인했습니다.
34 라인 print(_x, "->", _y) 이후에 중단하여 변수 내의 데이터를 직접 찍어봤으니 단계별로 비교해 보시기 바랍니다.
>>> raw_df
code date open high low close diff volume
date
2018-05-04 005930 2018-05-04 53000 53900 51800 51900 1100 39565391
2018-05-08 005930 2018-05-08 52600 53200 51900 52600 700 23104720
2018-05-09 005930 2018-05-09 52600 52800 50900 50900 1700 16128305
2018-05-10 005930 2018-05-10 51700 51700 50600 51600 700 13905263
2018-05-11 005930 2018-05-11 52000 52200 51200 51300 300 10314997
... ... ... ... ... ... ... ... ...
2020-01-16 005930 2020-01-16 59100 60700 59000 60700 1700 14381774
2020-01-17 005930 2020-01-17 61900 62000 61000 61300 600 16025661
2020-01-20 005930 2020-01-20 62000 62800 61700 62400 1100 12528855
2020-01-21 005930 2020-01-21 62000 62400 61200 61400 1000 11142693
2020-01-22 005930 2020-01-22 60500 62600 60400 62300 900 15339565
[421 rows x 8 columns]
>>> dfx
open high low volume close
date
2018-05-04 0.633401 0.646825 0.601610 0.595060 0.579158
2018-05-08 0.617108 0.619048 0.605634 0.316465 0.607214
2018-05-09 0.617108 0.603175 0.565392 0.198390 0.539078
2018-05-10 0.580448 0.559524 0.553320 0.160765 0.567134
2018-05-11 0.592668 0.579365 0.577465 0.100000 0.555110
... ... ... ... ... ...
2020-01-16 0.881874 0.916667 0.891348 0.168830 0.931864
2020-01-17 0.995927 0.968254 0.971831 0.196653 0.955912
2020-01-20 1.000000 1.000000 1.000000 0.137469 1.000000
2020-01-21 1.000000 0.984127 0.979879 0.114009 0.959920
2020-01-22 0.938900 0.992063 0.947686 0.185040 0.995992
[421 rows x 5 columns]
>>> dfy
close
date
2018-05-04 0.579158
2018-05-08 0.607214
2018-05-09 0.539078
2018-05-10 0.567134
2018-05-11 0.555110
... ...
2020-01-16 0.931864
2020-01-17 0.955912
2020-01-20 1.000000
2020-01-21 0.959920
2020-01-22 0.995992
[421 rows x 1 columns]
>>> len(y)
421
>>> _x
[[0.7637474541720417, 0.7857142857111677, 0.7665995975824281, 0.323174686971615, 0.7755511022013004], [0.8533604887948947, 0.8333333333300265, 0.8269617706204146, 0.33335345138624783, 0.8476953907781655], [0.8696537678172315, 0.8769841269806469, 0.8631790744432065, 0.19622106804249292, 0.8837675350665981], [0.9022403258619053, 0.8888888888853615, 0.8953722333967993, 0.117672127572782, 0.9038076152268384], [0.9348268839065791, 0.9285714285677438, 0.927565392350392, 0.21155713424914332, 0.9038076152268384], [0.898167006106321, 0.8730158730124087, 0.8873239436584011, 0.1674615836301646, 0.8637274549063578], [0.8818737270839841, 0.9166666666630291, 0.8913480885276002, 0.16882989330989187, 0.9318637274511749], [0.9959266802403425, 0.968253968250126, 0.9718309859115821, 0.19665250042066781, 0.9559118236434633], [0.9999999999959267, 0.9999999999960317, 0.9999999999959758, 0.13746944253371812, 0.999999999995992], [0.9999999999959267, 0.9841269841230789, 0.9798792756499803, 0.11400880277083453, 0.9599198396755113]]
>>> _y
[0.9959919839639438]
>>> data_x
Squeezed text (4878 lines).
>>> data_y
Squeezed text (105 lines).
참고로, _x는 for 문 안에 선언되어 있지만 함수 밖에서 선언됐기 때문에 전역변수로 보는 게 맞을 것 같고 data_x와 data_y는 데이터가 많아서 출력은 안되네요.
주식가격 리스트를 받아오는 x[-6:]까지는 실행이 잘되나 데이터 셋 준비하는 과정에서 print(_x,”->”,_y) 에서 에러가 납니다..
찾아본결과// for문 이후 print(_x) 를해도 빈 리스트만 존재하며, print(data_x)도 마찬가지로 비어있습니다.
raise ValueError('Expect x to be a non-empty array or dataset.') ValueError: Expect x to be a non-empty array or dataset.
for 문안에 지역변수로 선언되어있어서 그런지 변수의 위치가 다르며, 변수의 선언위치가 달라서 빈리스트만 반환합니다..(전역변수로 바꿔줘도 안됨..)
x값은 잘 받아오지만 for문을 통해 _x ,data_x값을 받아오는 게 안되는 이유가 뭘까요? (_y, data_y도 동일)
깃허브 코드를 복붙했는데도 실수가 나니 찾기가 힘드네요ㅠ