rltrader
rltrader copied to clipboard
training_data = training_data.apply(np.tanh)
@quantylab 위 코드는 어떤 의미인가요? 데이터들을 탄젠트 하이퍼볼릭으로 한다는 게 약간 정규화개념인건지 잘 모르겠습니다. v1에 경우에는 적용이 안 되도록 되어있던데 의도하신 것인지 궁금합니다.
data.loc[:, ['per', 'pbr', 'roe']] =
data[['per', 'pbr', 'roe']].apply(lambda x: x / 100)
추가로, 위와 같이 'per', 'pbr', 'roe' 데이터를 100으로 나눠서 적용하신 건지요? 그렇다면 이유는 무엇인지요?
@quantylab 많이 바쁘시겠지만, 답변을 기다립니다.
@JungsooCho 안녕하세요. 말씀하신대로 정규화를 위해 적용한 것이 맞습니다. 다만 per, pbr, roe는 값의 범위가 다른 컬럼들과는 차이가 크기 때문에 100을 나누었습니다.
@quantylab 답변 감사합니다.
질문이 두 가지였는데, 첫 번째 질문인 training_data = training_data.apply(np.tanh)도 정규화 개념으로 모든 데이터가 -1과 1사이에 오도록 한 것 같인지요? 그렇다면, 그 전에 이미 ratio로 데이터를 정규화한 것 같은데 또 탄젠트 하이퍼볼릭을 사용하신 이유가 무엇인지요?
@JungsooCho tanh는 정규화를 위해 사용한 것이 맞습니다. 다만 tanh의 입력값은 -3~3 정도가 적당하기에 자질의 특성에 따라 적절히 스케일을 조정한 것입니다.