1편에서는 S&P 500 및 KOSPI 데이터 수집, 정제, 상관 분석하는 방법을 알아봤습니다.2편에서는 삼성뿐 아니라 다른 기업들 정보를 활용하여 상관 분석을 수행하고, 관련이 있는 기업들을 추출한 후, S&P 500 Index가 올랐을 때 주식을 샀다가 팔면 이득인지 시뮬레이션을 돌려보도록 하겠습니다. 1. 함수 생성기업별로 데이터를 가져와 S&P 500 Index와 상관분석을 수행합니다. 이를 위해 1에서 전처리한 코드들을 함수로 생성하여 사용합니다.# 9. 기업 일별 주식 정보 가져오는 함수def get_company_stock(start_date, end_date, code): df = stock.get_market_ohlcv(start_date, end_date, code, "d") ..
한국은 미국에 영향을 많이 받습니다. 주식에서도 그럴까요? 미국 주식이 떨어지면 한국 주식도 떨어질까요, 아니면 관련이 없을까요. 그 궁금증을 해결하기 위해 다음과 같은 가설을 설정한 후, 분석을 진행해보았습니다. 가설1. S&P 500 index와 한국 KOSPI에 속하는 기업 주식 중 관련이 있는 주식이 존재할 것이다. 위의 가설을 입증하기 위해서 다음과 같은 순서로 분석을 진행하였습니다. 1. 회사 주식 코드 가져오기pykrx 라이브러리를 활용하여 주식 정보를 가져왔습니다. pykrx 는 naver와 krx 등의 도메인에서 주식 데이터를 쉽게 가져오는데 도움이 되는 라이브러리입니다. get_market_ticker_list 함수의 입력 인자로 날짜와 마켓이 있습니다. 리턴값으로 기..
스파크는 오라클에서 제공하는 언어(?)라고 합니다.실시간으로 데이터를 병렬처리하는데 유용하다고 알려져 있으며, java, scala, python 세 언어를 활용하여 사용할 수 있습니다. 세 언어 중 파이썬을 활용하여 데이터를 분석해보도록 하겠습니다.그 이유는 파이썬의 장점인 데이터 분석은 살리고 단점인 전처리 속도를 보완하기 위해서입니다. pyspark라는 모듈을 사용하여 python에서 spark를 사용할 수 있습니다. 프로젝트를 진행하면서 배우는게 가장 빠르게 습득할 수 있는거라 판단되어러닝 스파크(번개같이 빠른 데이터 분석)에 나와있는 예제를 보며 진행해보록 하겠습니다. 데이터 분석의 첫 번째 편으로 메일 스팸분류기를 만들어보도록 하겠습니다. #pyspark 불러오기from pyspark impo..
회귀 신경망 스터디의 마지막 글입니다.앞에서 배운 크롤링 + 회귀 신경망을 활용하여 주식 데이터를 가져와서 예측해보는 실습을 하도록하겠습니다.이전 글에서 작성한 코드들을 활용하여 진행하도록 하겠습니다. 1. 주식 데이터를 크롤링하고 분서에 적합한 형태로 변환하기 파이썬_주식데이터를 활용한 회귀 신경망 스터디 2.회귀분석실습(http://cromboltz.tistory.com/22?category=626018) 위의 글에서 3.3까지 진행한 결과를 활용하여 진행하도록 하겠습니다.제대로 따라오셨다면 데이터는 이렇게 되어 있을 것입니다. x(입력 데이터)와 y(예측 데이터)를 결정해줘야합니다.이전 글을 보니 변동폭으로 거래량을 예측했었군요.이번에도 똑같이 진행하도록 하겠습니다. 정규화하기입력 데이터와 예측 데..
이번에는 회귀 모델을 신경망으로 만들어서 분석하는 실습을 진행하도록 하겠습니다. 먼저 회귀 모델을 신경망으로 만드는 이유에 대해 예를 들어 말씀드리도록 하겠습니다. 신경망으로 만드는 이유는 우리가 가지고 있는 표본들을 활용하여 만든 예측 모델을 일반화시키기 위함입니다. 우리가 남자 100명의 키와 몸무게에 대한 정보를 가지고 있다고 가정해봅시다. 이 100명의 정보를 활용하여 키로 몸무게를 예측하는 예측 모델을 만들었을 때, 이 모델은 모델을 만들 때 활용된 100명에 대한 예측 정확도는 아주 높을 것입니다. 하지만 전 세계 인구는 70억명.. 남자가 반이라고 예상해도 35억명입니다. 100명이 35억명을 대표할 수가 없습니다. 현실에 100명으로 만든 예측 모델을 적용하는 것은 마치 한 초등학교 1학년..
파이썬으로 회귀 분석을 수행하는 방법은 3가지가 있습니다. 1. 회귀식을 직접 코드로 작성하기2. sklearn 라이브러리 사용하기3. statsmodels 라이브러리 사용하기 회귀식은 매우 단순한 편이기 때문에 직접 데이터의 패턴을 분석하는 코드로 짜는 것도 어렵지 않습니다만,이미 만들어져 있는 라이브러리를 사용하는게 편리하며, 작성한 코드를 검증하는 시간도 줄어드는 이점이 있어라이브러리를 사용하여 예측할 것을 권유드립니다. 본 글에서는 3. statsmodels 라이브러리를 사용하여 회귀분석을 수행해보도록 하겠습니다. 분석순서는 다음과 같습니다. 1. 라이브러리 호출 2. 데이터 불러오기3. 데이터 전처리4. 상관 분석 수행5. 회귀 분석 수행 1. 라이브러리 호출사용할 라이브러리를 호출합니다.사용할..
오늘 소개해드릴 내용은 기계학습의 가장 기초가 되는 회귀분석입니다. 회귀(regression)는 주로 연속데이터(1,2,3,4...)를 입력데이터로 받아 패턴을 분석한 후, 연속데이터로 예측된 결과값을 출력할 때 주로 사용합니다. 가장 간단한 회귀 분석의 예시로는 키로 몸무게를 예측하는 것입니다. 다음과 같은 표본이 있습니다. 키(cm) 몸무게(kg) 170 70 180 80 190 90 이 표본을 바탕으로 키가 185cm인 사람의 몸무게를 예측해보기 위해서는 패턴을 분석해야 합니다. 그러기 위해서는 키를 몸무게로 변환시켜주는 해를 구해야합니다.식은 다음과 같습니다. f(x) = yf(170) = 70f(180) = 80f(190) = 90 몸무게를 예측하기 위해 주어진 정보는 키밖에 없으므로 식은 다음..
파이썬으로 한글 자연어를 처리하기 위해서는 java 기반으로 만들어진 형태소 분석기를 사용합니다.konlpy는 자바 기반의 형태소 분석기를 파이썬에서 사용할 수 있게 해주는 아주 고마운 라이브러리입니다. 제공하는 형태소 분석기는 총 5개가 있습니다.1. jhannanum(한나눔) 2. kkma(꼬꼬마)3. komoran(코모란)4. twitter(트위터)5. mecab(메캅) *konlpy 설명 : https://konlpy-ko.readthedocs.io/ko/v0.4.3/ *konlpy 분석기 별 성능 비교 : http://konlpy.org/ko/latest/morph/#comparison-between-pos-tagging-classes 형태소 분석 순서는 다음과 같습니다. 1. 형태소 분석기 호..
python3에서는 'wikipedia' 라이브러리를 제공하고 있습니다.(문서1. https://pypi.org/project/wikipedia/ 문서2. https://pypi.org/project/Wikipedia-API/) 사용방법은 다음과 같습니다. 1. wikipedia 라이브러리를 설치합니다.(cmd -> pip install wikipedia-api) 2. 코드 작성2.1 라이브러리 호출 2.2 접속할 wikipedia 설정2.3 페이지 존재여부 확인2.4 데이터 결과 확인 2.5 데이터 내리기(다운로드) 위의 순서대로 진행해보도록 하겠습니다. 2.1 라이브러리 호출 import wikipediaapi #사용할 api 호출 2.2 접속할 wikipedia 설정 wiki=wikipediaapi..
최근 기계 학습과 관련한 프로젝트를 진행하며 얻게된 지식들을 공유하고자 합니다. 먼저 최근에 사용하고 있는 랜덤 포레스트에 대해서 설명드리고자 합니다. 위키에서 쉽고(?) 자세하게 설명이 되어 있으므로 여기서는 간단히 장단점만 설명하고자 합니다. 위키 url입니다.https://ko.wikipedia.org/wiki/%EB%9E%9C%EB%8D%A4_%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8 랜덤 포레스트의 장점은 1. 딥러닝과 비교했을 때 사람이 직관적으로 이해하기 쉽습니다. 딥러닝(심층심경망)의 경우, 결국 컴퓨터에게 알아서 좋은 결과가 나오도록 튜닝해달라고 맡기는 방식이므로, 결과의 accuracy가 높다 하여도 왜 높은지 설명하기가 어렵습니다. 이는 신뢰와 관련되어 있습니다..