Data Scientist 44

[ML] Ensemble(앙상블) 기본 다지기

Ensemble, 한국어로 앙상블이라고 읽는 이 Ensemble 모델은 대표적인 분류 모델 중 하나이다. 어원으로는 함께, 동시에, 협력하여 등을 뜻하는 프랑스어. 영어로는 합창단, 무용단, 합주단 등을 의미한다. 많은 수의 작은 악기소리가 조화를 이루어 더욱 더 웅장하고 아름다운 소리를 만들어낸다. 물론 그래서는 안 되겠지만, 한 명의 아주 작은 실수는 다른 소리에 묻히기도 한다. 기계학습에서의 앙상블도 이와 비슷하다. 여러 개의 weak learner들이 모여 투표 (voting)를 통해 더욱 더 강력한 strong learner를 구성하고 많은 모델이 있기 때문에, 한 모델에서 예측을 엇나가게 하더라도, 어느 정도 보정이 된다. 즉, 보다 일반화된 (generalized) 모델이 완성되는 것이다. ..

Data Scientist/ML 2024.02.13

[ML] Decision Tree (결정트리) 기본 다지기

Decision Tree란? - 데이터를 분석하여 이들 사이에 존재하는 패턴을 예측 가능한 규칙(Rules)들의 조합으로 나타냄 - 모양이 '나무'와 같다고 해서 의사 결정 나무 라고 불림 - 질문을 던져서 대상을 좁혀 나가는 '스무고개' 놀이와 비슷한 개념 아래 의사 결정 나무를 시각화 표시한 것으로 간략하게 어떤 기준으로 분류가 되면서 데이터를 분류하는 지 눈으로 한번 익혀보자 Decision Tree의 기본적인 원리 - Linear Regression과 다르게 Model의 Complexity를 극한으로 높일 수 있음(하지만 이로 인해 Overfitting이 일어날 수 있음) - 아래 예제와 같이 만약 Terminal node수가 3개 뿐이라서 새로운 데이터가 100개, 1000개가 주어진다고 해도 ..

Data Scientist/ML 2024.02.05

[Python 금융] 알고리즘 트레이딩 - 단순이동평균전략

안녕하세요 Python 으로 하는 금융 데이터 분석 내용으로 알고리즘 트레이딩 그 중에서도 단순 이동 평균 전략에 대한 소개와 예시를 통해 같이 공부하는 내용을 소개해드리고자 합니다. 단순 이동 평균 전략 단순 이동 평균 전략은 무엇을까요? 제목만 놓고 보면 이동선 평균을 활용한 전략일 거 같은데,,? 라는 감이 살짝 오시나요? 자세히 한번 알아보겠습니다. 이동평균선은 가장 기본적으로 사용되는 기술적 분석 지표로, 일정 기간 동안의 가격 평균을 보여 줍니다. 차트를 해석할 때 잡음(noise)을 줄여줌으로써 추세를 보다 명확하게 파악하는 데 도움이 되고, 후행성 지표이기 때문에 미래를 예측하기보다는 현재 상태를 확인하고 분석하는 해석 지표로 사용하는 것이 일반적입니다. 이러한 이동평균선은 장기와 단기로 ..

[파이썬] 퀀들(Quandl) API를 이용한 금융 데이터 수집

안녕하세요 오늘 포스팅에서는 파이썬 환경에서 퀀들 API를 이용해 다양한 금융 데이터를 수집하는 방법에 대해 다뤄 보겠습니다. 데이터를 수집한 뒤에 간단한 시각화도 같이 진행 해보도록 하겠습니다. 퀀들(Quandl) 이란? 퀀들은 캐나다 토론토의 데이터 공유 플랫폼 회사 입니다. 특히 금융 데이터를 퀸들이 제공 하는 API를 통해 손쉽게 제공 받아 분석에 활용 할 수 있습니다. 또한 단순히 주가, 거래량에 대한 데이터 뿐만 아니라 의료, 집값, 경제 지표 등 다양한 데이터 들을 제공 한다는 장점이 있다. 먼저 퀀들 API 사용 방법에 대해 먼저 알아보자 1. 퀀들 API 발급받기 https://data.nasdaq.com/publishers/QDL Nasdaq Data Link The source for..

파이썬으로 이더리움 가격 예측하기(시계열 예측 라이브러리, prophet)

안녕하세요 ~ 오늘은 파이썬으로 이더리움 가격 예측하는 하는 방법에 대해 알아 보는 포스팅을 하려고 합니다. 먼저 prophet이라는 라이브러리에 대해서 알아보겠습니다. prophet라이브러리는 페이스북(현 메타)에서 만든 시계열 예측 라이브러리 입니다. 정확도가 높은 편이고 각종 파라미터로 모델 수정하기가 쉽다는 장점이 있습니다. 1. 라이브러리 불러오기 먼저 필요한 라이브러리 들을 불러오겠습니다. 저희는 바이낸스에서 데이터를 불러올것이기 때문에 객체 생성을 하기 위한 cctv 라이브러리를 불러오고 그리고 pandas, numpy 라이브러리를 불러옵니다. 마지막으로 prophet 라이브러리 까지 불러오면 필요한 라이브러리는 다 가져온것 같습니다. import ccxt import pandas as pd..

파이썬을 이용하여 웹에서 금융 데이터 다운 및 시각화

안녕하세요 ~ 오늘은 파이썬을 이용하여 웹에서 금융 데이터를 다운 받고 데이터를 시각화 하여 어떻게 데이터가 형성 되어 있는지 확인 하는 코드를 작성하는 포스팅을 해보려고 합니다. 웹에서 금융 데이터 불러오기 먼저 야후 파이낸스 라이브러리를 이용하여 금융 데이터를 다운 받을 건데요 ! pip install yfinance 다음과 같은 코드를 이용하여 야후 파이낸스 라이브러리를 다운받아 주겠습니다. 이제 본격적으로 시작해보겠습니다. 판다스와, 야후 파이낸스 모듈을 불러오겠습니다. import pandas as pd import yfinance as yf start = 데이터 시작 시점 end = 데이터 종료 시점 symber = ticker 정보 start = "2014-10-01" end = "2021-..

[빅데이터 분석기사 준비] 통계학이란 ?

통계학 이란? 나무위키에 나오는 사전 정의를 찾아보면 다음과 같습니다. 표준국어대사전에 따르면 사회 현상을 통계에 의하여 관찰, 연구하는 학문. 불확실성에 대한 논리를 부여하는 학문으로 경험과학의 한 분야이자 대부분 학문의 기초를 담당한다. 한국 통계법에 의하면 통계작성기관이 정부정책의 수립·평가 또는 경제·사회현상의 연구·분석 등에 활용할 목적으로 산업·물가·인구·주택·문화·환경 등 특정 집단이나 대상 등에 관하여 직접 또는 다른 기관이나 법인, 단체 등에 위임 위탁하여 작성하는 수량적 정보(통계법 제3조 제1호)로서 통계는 주로 숫자(numbers)를 의미하는 것으로 되어있다. 통계학에 대한 여러 정의가 있는데 모두 축약하면 자료를 연구하는 학문, 데이터를 분석하는 학문으로 압축할 수 있다. 자 이제..

Data Scientist 2022.11.28

[파이썬] 공공 데이터포털 API를 이용하여 수출입 데이터 가져오기

안녕하세요 ~ 오늘의 포스팅은 공공데이터 포털의 API를 이용하여 수출입 데이터 를 가져와 보려고 합니다. 1. 공공데이터 포털 가입 및 API 신청 먼저 아래의 사이트에 들어가셔서 회원 가입을 합니다. https://www.data.go.kr/index.do 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 메인 페이지 에서 "수출입" 을 검색 합니다. 그러면 아래와 같은 API가 검색이 될거에요 그럼 여기서 활용신청을 누르고 ※중요 : 아래 내용은 수출입 총괄이지만(제가 미리 신청을해놔서..), 실제 데이터를 가져올..

[파이썬] 투자를 위한 경제 지표 데이터 수집 및 시각화 (장, 단기 금리)

안녕하세요 ~ 이번 포스팅은 투자를 좀 더 현명하게 하기 위한 경제 지표 데이터를 수집하여 시각화를 통해 현재 경기가 어디에 위치해 있는지를 객관적으로 알기 위한 내용으로 구성해보았습니다. 먼저 코드부터 구현 하겠습니다. 1. 데이터 준비 필요한 모듈을 불러와 줍니다. 1. Raw Data -. FinanceDataReader 2. 시각화 및 분석 -. Matplotlib -. Pandas import FinanceDataReader as fdr import matplotlib.pyplot as plt import pandas as pd FinanceDataReader Module에서 데이터를 불러와보겠습니다. diff_long_short_ir = fdr.DataReader('T10Y2Y', start ..

[Python] Turtle 객체를 이용하여 그림 그리기

안녕하세요 ~ 오늘은 Python으로 Turtle 객체를 이용하여 그림 그리는 포스팅에 대해서 다뤄 보겠습니다. 먼저 Turtle 모듈를 불러와서 Tutle 객체를 생성합니다. import turtle as t tim = t.Turtle() # Turtle 객체 생성 그리고 일반 점선을 그려보는 코드를 보여드리겠습니다. for _ in range(15): tim.forward(10) # pen으로 그리기 시작 10씩 tim.penup() # 펜을 뗀다 tim.forward(10) # 뗀체로 10을 이동 tim.pendown() # 펜을 다시 내려놓는다. 요렇게 그리시면 아래와 같이 점선이 그려지는 것을 볼 수 있습니다. 이제 여기서 난이도를 더해서 5각형을 그려보겠습니다. 오각형의 내각의 크기는 108도..