데이터베이스 인덱스는 왜 B-tree를 사용하는가?
·
tech
서론 - 인덱스에서 쓰이는 B tree가 뭔데? Tree 구조는 기본적으로 탐색시 시간복잡도 O(log N)을 가진다.  하지만 최악의 경우, 트리 노드가 한쪽 방향으로 쏠려서 O(N)을 가지게 된다.이런 경우를 방지하기 위해서 Balanced Tree를 이용한다.  balanced tree : 노드 삽입 및 삭제시 특정 규칙에 맞게 재정렬되어 양쪽 자식 수의 밸런스를 유지하는 트리최악의 경우에도 각 연산이 무조건 O(log N)를 보장하며 redblack-tree나 b-tree가 여기에 해당한다.   본론 - 각 자료구조간 비교를 통해 확인해보자데이터베이스의 인덱스에서는 위의 B tree와 B+tree 자료구조를 채택해서 사용하고 있다. 그렇다면 다른 자료구조도 많은데 왜 하필 저 녀석들을 사용할까? ..
웹소켓(WebSocket)과 Websocket-sharp.dll 오류
·
tech
웹소켓 등장 이전의 기술Polling : 새로운 메시지가 있는지 계속 서버에게 물어보기미친 요청 수(request)와 LatencyLong Polling:메시지가 있거나, TimeOut할때까지 request 잠깐 기다렸다가 responsePolling보다는 request 요청이 적지만 그래도 많음Streaming :이벤트가 발생했을 때 응답을 내려주되, 응답을 완료시키지 않고 계속 연결을 유지하는 방식연결 시간이 길어질수록 연결 유효성 관리의 부담Request, Response 헤더가 불필요하게 크다. 웹소켓(WebSocket)웹소켓(WebSocket) : 두 프로그램 간의 메시지를 교환하기 위한 통신 방법​웹소켓과 HTTP 통신의 비교 : 수립된 연결을 어떻게 하느냐?​연결성 ↔ 비연결성  HTTP와 ..
ARIMA를 이용한 향후 5일간 비트코인(BTC) 종가 예측 프로젝트
·
tech
오잉? ARIMA에 대해 쓴 글이 작년 10월로 군대에 있을때 작성한건데.. 전역하고 다시 복습하면서 찾아보니까 함수가 아예 사라짐;​statsmodels.tsa.arima\_model -> statsmodels.tsa.arima.model 로 라이브러리 위치가 바뀐거였음..​ 아무튼 이번 주제는 5일 간격의 시간을 둔 미래의 시계열 데이터. 즉 '향후 5일 뒤의 비트코인 종가'를 예측할거다​ 1. 데이터 전처리빗썸에서 제공하는 API의 get_ohlcv() 함수를 통해서 비트코인 정보를 뽑아온다.​여기서 중요한 점은, 현재 종가를 기준으로 5일 뒤의 미래 종가를 예측하는게 맞지만 그게 정확한지는 5일 뒤에 확인해야하는 문제점이 생김 ​그래서 아쉬운 대로 5일 전의 종가를 학습 데이터로 넣어서 예측한 값..
Pandas를 통해 포항시 인구수 분표를 시각화해보자
·
tech
인구수 50만을 자랑하는 경상북도 최대의 메트로폴리스 포항 50만 이하로 떨어지면 대도시 혜택이 사라지고 구청도 사라져 통폐합된다고 함ㅠㅠㅠ언제쯤 50만 아래로 떨어질까​  우선 행정안전부에서 제공하는 주민등록상 인구통계를 내려받자. ​https://jumin.mois.go.kr/ 10년치 이상은 안되는 관계로 12년부터 21년까지만 *.csv 파일로 내려받으면 된다.​​pyplot으로 그래프 나타낼려는데 한글이 깨지길래 넣음.import matplotlib.pyplot as pltimport pandas as pdplt.rcParams['axes.unicode_minus'] = False import platformif platform.system() == 'Windows': # Windows p..
인공지능을 이용해서 가상화폐 가격을 예측해보자(Adaboost, Ensemble, LSTM)
·
tech
코인 수익률이 -73%까지 내려가면서 바닥 아래에는 지하가 있음을 깨닫게 해줬다...​ 인공지능을 이용한 가상화폐 종가 예측 프로젝트딥러닝을 이용해 특정 암호화폐의 종가를 예측해서 평가한 후 매도/매수를 판단하고 자동으로 매매하여 결과를 도출하도록 하고자 계획했다. 그리고 코인같은 일련의 데이터들을 처리하기 위해서는 RNN 보다 주로 시계열 데이터를 처리하는 LSTM 모델 이 더욱 의미있는 결과를 낸다는 연구를 보고, 아예 LSTM 모델 3개를 결합하여 하나의 모델(Deep 3-LSTM Ensemble Model)로 개발하기로 결정했다. 앙상블 학습을 통해서 기존의 단일 모델의 낮은 정확도나 과적합(OverFitting)의 한계점을 보완하여 더욱 정확한 예측이 가능한 모델을 구축할 수 있다. Adaboo..