본문 바로가기
무모한 도전-주식 인공지능 만들기

RLTrader의 유저 인터페이스를 만드는 작업-9-

by 인터넷떠돌이 2018. 12. 15.
반응형

안녕하세요?


지난번 포스팅에서는 SQL 쿼리가 안 되어서 어떻게 애를 애를 먹었습니다만, 아무튼 그 놈의 그 ' ' 하나를 붙이지 않았다는 이유로 이렇게 애를 먹었다는 사실을 알고는 조금은 힘이 빠지기는 빠졌습니다. 그래서 늦어진 만큼 작업을 빨리 진행하도록 해 보겠습니다.



먼저 위 스크린샷에 나오는 것처럼 SELECT count(*) FROM '테이블이름' 이라는 쿼리를 사용해 보도록 합니다. 이 쿼리는 테이블 안에 있는 모든 열(row)을 읽어 들이는 역할을 합니다.



실제로 숫자가 마지막 값으로 나오는 것을 볼 수 있는데, 이게 진짜로 데이터 베이스 살의 열 갯수-모든 열의 갯수와 맞는지를 살펴봐야 합니다.



DB Browser에서 한번 확인을 해 보니까, 실제로 일치한다는 것을 확인할 수 있었습니다.



이제 위의 붉은색 박스안에 있는 것과 같은 내용의 수식을 쓰면, 제 경우에는 학습에 75%의 데이터만 쓰기 때문에, 일단 75%가 나올 수 있는 공식을 사용해 보도록 합니다.




어떻게 된 일인지 몰라도, python의 작동이 중지가 된 것을 확인해 볼 수 있었습니다.



그래서 수식을 고치기도 했고, lineEdit_3에서 나왔는 텍스트가 진짜로 문자열 형태로 처리가 되어 있기 때문에, 이런 일이 벌어진 것 이었습니다. 그래서 하는 수 없이 float()함수를 사용해서 일단 숫자로 처리하는 단계도 거쳐야 했습니다.



일단 결과값이 나오기는 했는데, 소수점이 붙은 실수로 나오는 것을 볼 수 있습니다. 적확하게는 1174번째 열에서 75%에 해당하기 때문에, 이건 손을 좀 볼 필요가 있습니다.



그래서 위 스크린샷과 같이 먼저 정수로 바꾸어 주는 함수인 int()함수를 사용하면 어떻게 반올림을 해 줄 것으로 기대를 했습니다.




결과를 확인해 보니, 반올림은 커녕, 그냥 소수점 이하의 자리를 그냥 가져다 버리는 것으로 볼 수 있었습니다. 그래서 이대로는 안되겠다는 생각이 듭니다.



그래서 위 스크린샷과 같이 어떤 파이썬의 함수가 반올림을 해주느냐 했더니, round()라는 함수가 해주는 것을 볼 수 있었습니다.



실제로 제가 유저 인터페이스 상에서 75%라는 수치를 입력해 보고나서, 한번 제대로 동작이 되는지를 확인해 보고자 합니다.



진짜로 75%에 해당을 하는 값인 1174의 값이 나오는 것을 확인할 수 있었습니다. 이렇게 하는 것으로 이제 데이터 베이스의 열에서 75%에 해당하는 열을 계산해 내는 것은 좋은데, 문제는 진짜로 데이터를 가지고 올 수 있느냐 하는 것 입니다. 이 내용의 포스팅을 다음 포스팅에서 올릴 것을 약속드리며, 이번 포스팅은 여기서 마치겠습니다.

반응형