INVESTAR / StockAnalysisInPython

456 stars 412 forks source link

09장 삼성주가예측 print(_x,”->”,_y)에러 #64

Open ogurim opened 3 years ago

ogurim commented 3 years ago

주식가격 리스트를 받아오는 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도 동일)

깃허브 코드를 복붙했는데도 실수가 나니 찾기가 힘드네요ㅠ

INVESTAR commented 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는 데이터가 많아서 출력은 안되네요.