728x90
728x90

Web Analytics GA4(Google Analytics)


  1. 링크 : https://support.google.com/analytics/answer/9143382?sjid=1232095385863967603-AP#link&zippy=%2C%EB%A7%81%ED%81%AC
  2. outbound : 외부 링크 연결 추적 (Boolean) 링크가 속성 도메인의 일부가 아닌 웹사이트로 연결되는 경우 텍스트는 'true'입니다.
  3. 자동 수집 이벤트

영어 단어


  1. asterisk = *

Deep learning - pytorch


  1. Loss Function -> smooth_l1_loss
  2. Optimizer -> torch.optim.LBFGS -> closure 함수를 매개변수로 넣어줘야함
  3. torch.nn.lstm -> outputs , hidden return

JAVA - Spring


  1. tomcat timeout 45s-> timeouts 시간 늘리기

python - cv2


  1. numpy -> cv2.imshow("title",np.array)
  2. cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
728x90

'개발일기' 카테고리의 다른 글

[TIL#9]  (2) 2023.06.09
[TIL#7]  (0) 2023.06.02
[TIL #3]  (0) 2023.05.02
[TIL#2]  (0) 2023.04.27
[TIL #1]  (0) 2023.04.25
728x90

텐서플로우 인덱스 참조

- 텐서의 인덱스 참조도 넘파이와 유사

 

1차원 인덱싱

- 1차원 텐서 만들기 

>>> t = tf.constant([1,2,3,])
>>> t

<tf.Tensor: shape=(3,), dtype=int32, numpy=array([1, 2, 3], dtype=int32)>

- 인덱싱

>>> t[:2]
<tf.Tensor: shape=(2,), dtype=int32, numpy=array([1, 2], dtype=int32)>

 

2차원 인덱싱

- 2차원 텐서만들기

>>> t = tf.constant([[1,2,3],[4,5,6]])
>>> t

<tf.Tensor: shape=(2, 3), dtype=int32, numpy=
array([[1, 2, 3],
       [4, 5, 6]], dtype=int32)>

- 2차원 인덱싱

>>> t[:1]

<tf.Tensor: shape=(1, 3), dtype=int32, numpy=array([[1, 2, 3]], dtype=int32)>

>>> t[:,2]

<tf.Tensor: shape=(2,), dtype=int32, numpy=array([3, 6], dtype=int32)>

>>> t[:2,:2]

<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
       [4, 5]], dtype=int32)>

 

3차원 인덱싱

- 3차원 텐서만들기

>>> t = tf.constant([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
>>> t

<tf.Tensor: shape=(2, 2, 3), dtype=int32, numpy=
array([[[ 1,  2,  3],
        [ 4,  5,  6]],

       [[ 7,  8,  9],
        [10, 11, 12]]], dtype=int32)>

- 3차원 인덱싱

>>> t[:2,1:,:2]

<tf.Tensor: shape=(2, 1, 2), dtype=int32, numpy=
array([[[ 4,  5]],

       [[10, 11]]], dtype=int32)>
728x90

'Development Study > tensorflow' 카테고리의 다른 글

[tensorflow] 텐서플로우 - 텐서 만들기 #1  (0) 2021.03.10
728x90

Mecab 설치

pip install eunjeon

Mecab 사용법

 

text = "오늘은 신나는 목요일입니다. 형태소 분석기를 테스트합니다."
m = Mecab()
text = m.pos(text)
print(text)
728x90
728x90

DDQN Reinforcement Learning Trading System

DDQN 강화학습 주식 트레이딩 시스템

소개
  • DDQN 알고리즘을 이용한 강화학습 주식 트레이딩 시스템
개발환경
  • 사용언어 - 파이썬
  • IDE - PyCharm
  • 라이브러리
    • Tensorflow
    • Keras
    • Pandas
    • Numpy
    • Matplotlib
    • 등등
개요
  • 환경에서 주어진 State를 받아 Policy를 통해 Action 을 행동한다. 행동한 Action에 따른 Reward를 받게 되고 Q-value를 구하여 신경망을 학습하여 더 좋은 Reward을 받는 방향으로 모델을 업데이트한다.
  • Keras의 인공신경망을 통해 가치 신경망을 구성하여 학습을 진행한다.
  • 주식 데이터는 대신증권 API를 통해 수집한 종목별 일별 데이터를 사용하였으며, 실제 주식한경을 구성하는 것이 관건이라고 볼 수 있다.
  • State 또는 Observation으로 주어지는 데이터는 아래와 같다.
    • [현재가,전일 종가, 전일 대비, 시가, 고가,저가,누적 거래량, 전일 거래량, 전일 거래랭 대비]
  • 앞으로의 데이터 Feature는 추가 되거나 수정될 수 있다.

Version 1.0

개요
  • 데스트를 진행할 환경을 일별 과거데이터를 저장해 높은 csv파일을 DataFrame으로 만들어 사용하였다.
  • 일별 데이터의 종가를 현잭로 설정하였다.
  • 보상을 (잔금 + 보유 주식수 * 현재가) - 초기자본금 / 초기자본금으로 설정 하였다.
  • 보상 정책에 대한 수정이 필요로 한다.
  • 학습에 대한 수익률이 일정치 않은것으로 판단되며, 매수/ 매도량을 1로 설정한 부분과 지속적인 + 수익률을 만들 수 있는 모델을 만드는 것이 앞으로의 과제라고 판단된다.
<시각화>
  • 학습 단계에 따른 수익률
    Episode Profit

  • 마지막 에피소드 행동 비율
    action_ratio

728x90
728x90

저번 포스팅에서 BrighticsAI를 시작하고 새로운 프로젝트를 만드는 단계까지 진행해 보았다.

이번 포스팅에서는 듀토리얼 다음 단계로 새로 만든 프로젝트에 데이터를 업로드 해보는 단계를 진행 해보자.

 

듀토리얼은 아래의 단계를 따라서 진행해본다. 

www.brightics.ai/kr/docs/ai/v3.7/tutorials/01_add_localdata?type=insight

 

Brightics Studio

 

www.brightics.ai

위 링크에 접속 해면 맨 하단에 샘플 데이터를 다운로드 받을수 있다. 다운 받아 놓자.

 

그럼 이제 데이터를 업로드 해보도록 하자

 

1. 프로젝트 들어가기

먼저 어제 만들어 놨던 프로젝트의

Workflow에 들어가자.

2. Add Data

다음으로 좌측 Palette 를 클릭

-> Data 탭에서 Add를 선택하자

업로드하려고 하는 데이터가 있는 경로에서 데이터를 가져와야한다.

듀토리얼에서 샘플로 받은 데이터를 업로드 할것이기 때문에 Local을 선택하고, 데이터를 다운로드 받은 경로를 선택해서 데이터를 불러오자.

불러오게 되면 데이터를 데이터가 어떻게 저장 되어 있는지 

Data Preview를 통해서 보여준다. 

Next를 클릭

다음 단계로 진행하자.

다음 단계는 데이터를 어떤 방식으로 Column/Row를 나눌지 Delimiters로 결정하게 되는데

샘플 데이터를 txt파일로 되어 있고, 데이터들은 Tab으로 나누어져 있으므로 Tab을 선택해보자

그러면 위의 그림과 같이 Index / Column /각 Column별 데이터가 알맞게 분리되어 나타나게 된다.

Next를 클릭 다음 단계로 !

다음 단계에서는 각 Column 별 데이터 타입을 설정할수 있다. 

자동으로 데이터 타입이 설정되어 표시 되지만, 필요에 따라서, 부분 또는 전체의 데이터 타입을 변경하여서 사용할 수 있다.

Finish 클릭!

데이터가 성공적으로 업로드 되었다는 알림과 함께 내 계정 하위 upload 폴더에 데이터가 잘 업로드 된것을 볼 수 있다.

 

데이터업로드를 진행 하면서 느꼈던 부분을 간단하게 정리해보고자 한다.

- 가장 좋았던 부분은 데이터 타입을 보기 좋은 형태로 제공 하면서 여기에 처음 설정 또한 편리하게 진행할수 있다는 점이였다. 이런 편리한 UI제공은 큰 장점이 아닌가 생각된다.

- 또한, 업로드한 데이터를 미리보기를 통해 보여 준다는 점이였다.

- 이런 기능이 더해지면 좋겠다고 생각한것은 솔루션을 처음 실행했을때 나오는 팝업창이 Workflow나 다른 Task를 생성하여 들어 갔을때 제일 처음 진행 해야하는 단계나, 단계별 Step에 관한 팝업창이 나왔으면 했다.

- 예를 들어 > 처음 Workflow에 접속 하면 데이터를 업로드 할 것인지 여부를 묻는 팝업창

 

항상 데이터테이블이나 데이터 처리를 진행하면서 UI가 좋은 Tool을 쓰는 것을 좋아하는 편인데, 이런 부분에서 BrighticsAI는 큰 강점을 지니고 있는 것 같다.

728x90

'Brightics AI' 카테고리의 다른 글

[BrighticsAI] Step1 - 듀토리얼  (0) 2020.10.06
[BrighticsAI] 0.시작하기  (0) 2020.10.06
728x90
728x90

+ Recent posts