ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 머신러닝 모델 수정
    Project/ML-파이썬 주식 종목 예측 2023. 6. 9. 14:37
    반응형

    저번에 글을 보면 아시겠지만

    요 모델이란놈이 100이면 100하락을 예측하길래

    학습 데이터를 늘려보고 이런 저런 시도를 해봤지만 원인은 다른 곳에 있었다.

    def using():
        # 객체를 복원, 저장된 모델 불러오기
        with open('pipe.dat','rb') as fp:     # 읽기
            pipe = pickle.load(fp)
        while True :
            text = input('뉴스 타이틀을 입력해주세요 : ')
            str = [text]
            # 예측 정확도
            r1 = np.max(pipe.predict_proba(str)*100)     # 확률값을 구해서 *100
            # 예측 결과
            r2 = pipe.predict(str)[0]     # 긍정('1'), 부정('0')
            if r2 == 1: #<<여기
                print('삼성전자는 상승할 것으로 예상됩니다.')
            else: 
                print('삼성전자는 하락할 것으로 예상됩니다.')
            print('정확도 : %.3f' % r1)
            print('------------------------------------------------')

    if r2 == 1 이 부분인데

    전 게시글에 있던 코드는 '1'로 형식이 string이였다.

    r2를 출력해보니 출력이 숫자형식이여서 r2를 숫자로 바꿔서 다시 모델을 학습했다.

     

    모델학습에 필요한 데이터는 30일치 뉴스 데이터를 학습시켰고

    결과에 입력한 뉴스는 23.06.09일자로 발행된 뉴스의 헤드라인 기사를 직접 입력했다.

    이런 결과를 얻었는데 실제로 모델을 학습시켰을 때 정확도는 약 70%정도였다.

    머신러닝 모델에서 70%는 높은 정확도가 아니지만 이는 주식이라는 특성 상 어쩔 수 없는 부분이라고 생각한다.

     

    그리고 우리가 사용한 모델을 절대적인 지표로 사용할 게 아니라 말그대로 시장의 분위기와 추세를 예측하는 정도로

    보조지표로 사용하면 좋을 것 같다.

     

    추후 계획은 전날에 발행된 기사들을 전부 모델에 입력해서

    상승과 하락 비율을 따지고 상승과 하락의 정확도의 평균을 낼 것이다.

    상승과 하락의 비중이 6:4라면 정확도가 높은 것을 결과로 채택하고

    상승과 하락의 비중이 7:3 이상이라면 비중이 높은 것을 결과로 출력하는 API를 만들 생각이다.

    반응형

    댓글

Designed by Tistory.