반응형

Study/AI 20

[OPEN API] 파이썬으로 한국은행🏦 API를 활용한 금리/환율 데이터 수집하기

이번 글에서는 한국은행 경제통계시스템(ECOS)에서 제공하는 API를 활용하여 금리와 환율 데이터를 수집하는 방법을 상세히 알아보겠습니다.🔑 1. 한국은행 Open API 시스템 접근하기한국은행은 ECOS(Economic Statistics System)를 통해 다양한 경제 통계 데이터를 제공하고 있습니다. API를 사용하기 위해서는 다음 절차가 필요합니다. ECOS 홈페이지에 접속회원가입 및 로그인 ✍️Open API → 인증키 신청 메뉴에서 API 키 발급받기 🔐승인 후 발급받은 인증키 확인 ✅ https://ecos.bok.or.kr ecos.bok.or.kr  🛠️  2. API 호출 준비하기한국은행 API는 REST 방식으로 제공되며, 주요 파라미터는 다음과 같습니다. authKey: 인증..

Study/AI 2024.11.10

[OPEN API] 파이썬으로 한국거래소 코스피 종가 데이터 수집하기

이번 글에서는 실제로 한국거래소 데이터 포털에 접근하는 방법, API 호출을 설정하는 방법, 파이썬을 사용한 데이터 수집 코드까지 구체적으로 설명해보겠습니다.1. 한국거래소 데이터 포털 접근하기먼저, 한국거래소(KRX)에서 제공하는 데이터 포털에 접근해야 합니다. 한국거래소는 다양한 데이터를 제공하고 있는데, 직접 API를 통해 데이터를 수집하려면 인증이 필요할 수 있습니다. 일반적으로 API 접근이 허용된 경우, 포털에서 API Key를 발급받아야 합니다.http://data.krx.co.kr/contents/MDC/MAIN/main/index.cmd KRX 정보데이터시스템증권·파생상품의 시장정보(Marketdata), 공매도정보, 투자분석정보(SMILE) 등 한국거래소의 정보데이터를 통합하여 제공 서..

Study/AI 2024.11.09

RL 기초익히기 및 다양한 기법에 대해

1. 강화학습의 정의 보상(Reward)를 정희하고 이를 최대하하는 방식을 찾아내는 것 2. 강화학습의 특징 Trial and Error Delayed Reward 예를 들어, 바둑게임을 강화학습으로 학습시킬 때, t시간의 바둑게임의 이미지를 입력으로 하면, 모델은 그 상태에서 가장 이길 가능성이 높은 t+1 시간의 수를 두게 됩니다. 이렇게 계속 게임을 진행하고 해당 게임이 끝나면 게임의 승패가 보상으로 주어지게 됩니다. 모델을 학습시키기 위해, 각 시간에서 다양한 수를 둬보는 과정이 Trial and Error라고 합니다. 또한, 주체 즉 Agent가 여러 Action을 해보고 각각의 Reward를 비교하면서 Reward를 최대화하도록 행동하는 방식을 학습하는 것이 Delayed Reward입니다. ..

Study/AI 2024.03.21

[ML] 머신러닝 프로젝트 사이클

문제정의의 중요성 머신러닝 알고리즘, 개발 능력도 중요하지만 근본적인 사고능력도 중요 HOW보다 WHY에 집중 문제해결 FLOW 문제를 해결하기 위한 Flow 현상 파악 목적, 문제 정의 => 계속 생각하기, 쪼개서 생각하기 프로젝트 설계 Action 추가 원인 분석 1. 현상 파악 어떤 현상이 발견되었는가? 현재 상황을 파악함 어떤 일이 발생하고 있는가? 해당 일에서 어려움은 무엇인가? 해당 일에서 해결하면 좋은 것은 무엇인가? 추가적으로 무엇을 해볼 수 있을까? 어떤 가설을 만들어 볼 수 있을까? 어떤 데이터가 있을까 2. 문제 정의 무엇을 해결하고 싶은가? 무엇을 알고 싶은가? 문제 정의는 결국 현상을 계속 쪼개고, 그 문제를 기반으로 어떤 어려움을 겪고 있는지를 파악함 데이터로 할 수 있는 일을 ..

Study/AI 2023.05.07

[AI] 모델 기반 협업필터링

Model Based Collaborative Filtering (MBCF) NBCF의 한계 Sparsity(희소성) 문제 데이터가 충분하지 않다면 추천 성능 떨어짐 데이터가 부족하거나 아예 없는 유저 추천 불가능(cold start) Scalability(확장성) 문제 유저와 아이템이 늘어날수록 유사도 계산이 계속 늘어남 유저,아이템이 많아야 정확한 예측을 하지만 반대로 시간이 오래 걸림 모델 기반 협업 필터링 데이터에 내재한 패턴을 이용해 추천하는 CF기법 Parametric Machine Learning을 사용 주어진 데이터를 사용하여 모델을 학습 데이터 정보가 파라미터의 형태로 모델에 압축 모델의 파라미터는 데이터의 패턴을 나타내고 최적화를 통해 업데이트 모델 기반 CF vs 이웃 기반 CF 이웃..

Study/AI 2023.04.02

[AI] Collaborative Filltering(협업필터링)

협업필터링이란 많은 유저들로부터 얻은 기호 정보를 이용해 유저의 관심사를 자동으로 예측하는 방법 더 많은 유저/아이템 데이터가 축적될수록 협업의 효과는 커지고 추천은 정확해질 것이라는 가정에서 출발 예를 들어 “노트북”을 본 유저들이 함께 본 다른 상품을 추천하거나, “노트북”을 구매한 유저들이 구매한 다른 상품들을 추천 최종 목적 : 유저 u가 아이템 i에 부여할 평점을 예측하는 것 방법 유저-아이템 행렬 생성(행렬이 다 채워져있지 않아서 빈칸을 채워야함) 유사도 기준을 정하고, 유저 혹은 아이템 간의 유사도를 구할 것 주어진 평점과 유사도를 활용하여 행렬의 비어 있는 값(평점)을 예측 원리 같은 아이템을 구매한 유저 a,b = a와 b는 비슷한 유저 이후 유저 a가 아이템c를 구매한다면 유저b에게도 ..

Study/AI 2023.04.02

[AI] 추천시스템 기초

사용자가 아이템을 찾는 방법 Search(검색) : 의도를 가지고 상품을 찾는 행위 사용자의 의도가 담긴 keyword가 담김(ex, 노트북, 고양이 검색 등등) 이는 pull이라고도 불림. keyword와 관련도가 높은 아이템을 추천해줌 Recommendation 사용자가 의도가 가진 키워드를 가지지 않더라고 아이템을 추천 사용자의 흥미를 고려하여 취향에 맞는 아이템 추천 추천시스템의 필요성 과거에는 상품, 컨텐츠가 제한적 웹/모바일 환경은 다양한 상품, 컨텐츠를 등장하게함 정보의 부족 → 풍요 소수의 인기있는 아이템(20%의 인기있는 아이템이 더 소비된다) → Long tail phenomenon(80% 작은 아이템이 더 소비된다) 정보를 찾는데 시간이 오래 걸림 유저가 원하는 걸 어떤 키워드로 찾는..

Study/AI 2023.04.02

[AI] 다양한 최적화 방법

실제로는 최적화에 한학기를 써야할 정도로 방대한 내용이지만 다양한 최적화 방법에 대해 간단하게만 찍먹해보자 경사하강법 미분을 반복하여 local minimum(국소적 최소점)을 찾는 것 Genealization(일반화) 학습을 반복시키면 학습데이터에 대한 에러가 줄어든다 하지만, train error가 0이 된다고 성능이 좋아진다고 할 수 없다. 왜냐면 test error가 어느 순간부터 증가하기 때문 따라서, generalization gap이 증가하면 성능이 떨어진다고 볼 수 있다. Underfitting vs Overfitting 학습데이터에서 잘 동작하지만 테스트데이터에서 잘 동작하지 않는 것이 오버피팅 네트워크가 너무 간단하거나 데이터가 너무 적어서 제대로 학습데이터에서도 동작안하면 언더피팅 C..

Study/AI 2023.03.26

[AI] Recurrent Neural Networks(RNN)

Sequential Model 시퀀셜 데이터는 인풋의 길이가 정해지지 않아서 차원을 정해놓기가 어렵다. 따라서, 몇개의 입력데이터가 들어오는지 상관없이 모델은 작동을 해야함 만약에 이전의 데이터를 바탕으로 다음의 데이터를 예측해본다하자. 첫번째 데이터는 아무것도 고려못하고, 2번째는 첫번째거를, 세번째는 1,2번째를 등등 나아갈수록 고려해야하는 데이터가 점점 많아짐 Autoregressive Model 과거에 볼 데이터의 길이를 정해두는 것! Markov model 내가 가정을 하기에 나의 현재는 과거에만 의존한다는 것. 이때 과거는 바로 직전 실제로는 말이안됨. 오늘이 수능이면 전날 공부한 것에만 의존한다? 이는 많은 정보를 잃게 됨. 하지만 joint distribution을 설명하기에 엄청 쉬워진다..

Study/AI 2023.03.26

[AI] Convolutional Neural Networks(CNN)

패딩이나 stride를 고려하지않고 (77) 이미지를 (33) 필터를 쓰면 (5*5)의 결과가 나온다. 7-4+1 = 5 적용하고자 하는 필터에 따라 같은 이미지가 Blur, Emboss, Outline등의 형태로 나올 수도 있다. RGB Image Convolution 32-5+1 을 통해 28이 나오게 되며 (32323)의 이미지를 (55)의 필터를 사용한다하면 (553)이라는 필터를 사용한다는 것을 의미한다. 이는 2828*1의 피쳐를 갖게된다. 위의 필터가 필터가 4개가 있다면, 채널이 4인 (28284)의 피쳐를 갖게된다. 인풋 채널과 아웃풋의 채널을 알면 필터의 채널도 알 수 있다. Stack of Convolutions (32323)의 인풋이 (28284) 값으로 나오게 될려면 필터가 (55..

Study/AI 2023.03.26
반응형