본문 바로가기

전체 글56

Vim 설치 및 세팅 환경이 바뀔 때마다 vim 세팅을 매번 검색하기 귀찮아서 기록해두려고 한다. 설치하기 터미널 접속후 아래의 명령어 입력 sudo apt-get update sudo apt-get install vim #프록시 환경이라면 아래와 같이 입력 sudo http_proxy=http://proxy_server apt-get update sudo http_proxy=http://proxy_server apt-get install vim 설정하기 터미널에서 vim ~/.vimrc 입력하여 설정 파일 편집 아래와 같이 입력 set number # 줄 번호 표시 set tabstop=4 # tab을 4칸으로 set ignorecase # 검색시 대소문자 구별하지 않음 set hlsearch # 검색시 하이라이트 set .. 2020. 10. 13.
VAR(Vector Auto Regression)을 이용한 다변량 시계열 분석 및 예측 너무나 당연한 이야기이지만 일변량 시계열 데이터는 단일 시간 종속 변수만 포함하고, 다변량 시계열 데이터는 다중 시간 종속 변수로 구성된다. 다변량 분석에서 예측할 변수의 과거의 데이터를 고려해야할 뿐만 아니라 여러 변수들 사이의 의존성을 고려해야 한다. 다변량 시계열 모델은 특정 주어진 데이터에 대해 더 신뢰성 있고 정확한 예측을 제공하기 위해 의존성을 이용해야 한다. 이번 글에서는 실제 데이터셋에 VAR(Vector Auto Regression)이라는 다변량 시계열 모델을 다뤄보자. 혼자 공부하고 이해할 때는 영어 그 자체로 충분했던 것들이 글을 쓰기 시작하면서 어떻게 한글로 써야 할까? 라는 의문이 들어서 중요한 용어들만 집고 넘어가고, 애매한 것들은 영어 원문으로 쓰기로 했다. univaritat.. 2020. 9. 26.
Jupyter 환경에서 pip 패키지 설치하기 같은 질문은 여러 번 받다 보니 남기게 된다. python 은 개발자에 따라서 / 한 개발자의 다양한 프로젝트에 따라서 여러 가지 버전의 파이썬 인터프리터를 사용하게 되는데, 쉘상에서 pip 설치를 했더니 주피터에서는 안된다고 하시는 분들이 종종 있다. 그럴 경우 jupyter에서 사용 중인 인터프리터와 쉘상에서 가리키고 있는 파이썬 인터프리터가 다르기 때문인데, 해당 인터프리터를 찾기 귀찮으니 jupyter 상에서 아래와 같이 입력해서 설치해주면 된다. import sys !{sys.executable} -m pip install 2020. 9. 25.
Seaborn - 데이터를 시각화하는 17가지 방법 데이터 시각화는 데이터 마이닝에서 매우 중요한 역할을 한다. 데이터 과학자는 시각화를 통해 데이터를 탐구하는데 대부분의 시간을 보낸다. 이 과정을 가속화하기 위해서는 모든 플롯에 대한 충분한 이해와 설명서가 필요하다. 이 글을 통해 자주 사용했던 플롯들에 대한 정리해보고자 한다. Seaborn이란? Seaborn은 matplotlib 기반의 시각화 라이브러리이다. 유익한 통계 그래픽을 그리기 위한 고급 인터페이스를 제공한다. seaborn을 설치하기 위해서는 다음 쉘 명령어로 설치할 수 있다. pip install seaborn # pip를 이용한 설치 conda install seaborn # conda를 이용한 설치 그리고 파이썬에서 다음과 같이 임포트 해주면 사용할 준비가 끝난다. import se.. 2020. 9. 15.
시계열 예측을 지도 학습으로 바꾸는 방법 - Time Series to Supervised Learning with Sliding window 슬라이딩 윈도우를 통해 시계열 데이터를 지도학습으로 변형하기 시계열 데이터 예측(Time series forecasting)은 지도 학습(Supervised learning)으로 변형시킬 수 있다. 이번 글에서는 시계열 문제를 시계열 문제를 머신러닝을 위한 지도 학습으로 어떻게 재구성하는지에 다뤄보고자 한다. 이번 글에서 다룰 내용은 다음과 같다. Supervised Learning(지도 학습)은 무엇이고 그것이 어떻게 모든 예측 모델링 머신러닝의 기초가 되는지. 시계열 데이터 집합을 구성하기 위한 슬라이딩 윈도우(Sliding window)를 사용하는 방법 다변량 데이터(multivariate data) 및 다단계 예측(multi-step forecasting)에 슬라이딩 윈도우를 적용하는 방법 자, .. 2020. 9. 11.
Apache Spark 3.0 변경점/변화 총 정리 Apache Spark 3.0에서 바뀐 기능 정리 기능, ANSI SQL Compliance, Store Assignment 정책, query semantics 업데이트 등 Apache Spark 3.0이 배포된지는 몇 달이 되었는데, 최근에 ETL 작업을 하지 않아서 따로 챙겨보진 못했다. 이번 업데이트에서는 Spark SQL에서 눈여겨 볼만한 기능들이 많이 추가된 것 같다. 특히 Spark SQL 개발자들에게 유용한 기능들이 많이 추가되었다. 사용할 일이 생겼으니, 주요한 변화를 정리를 해보자. ANSI SQL Compliant Feature 일부 예약된 키워드를 식별자로 사용할 수 없게 된다. select * from some_table create where create.some_column = .. 2020. 9. 10.
불균형 클래스 분류(Imbalanced Classification)를 위한 4가지 방법 머신러닝으로 불균형 데이터를 분류하는 대부분의 예시는 이항 클래스 분류에 초점을 맞추고 있다. 그래서 이번엔 다중 클래스 불균형 데이터(Multi-class imbalanced data)를 처리하는 포스팅을 기록해보고자 한다. 이번 포스팅에서 다뤄볼 분균형 데이터 처리 방법은 다음 네 가지이다. Under Sampling | 언더 샘플링 Simple Over Sampling | 단순 오버 샘플링 Algorithm Over Sampling | 알고리즘을 통한 오버샘플링(SMOTE, ADASYN) Cost-sensitive learning | 뭐라고 번역하지 시작해보자. 개발환경 Python 3.6.11 imblearn 0.7.0 Glass Multi Class Classification Dataset 이 .. 2020. 9. 4.
Fastai - X-ray 폐렴 검출 CNN 10분 컷 FastAi 딥러닝 라이브러리를 이용해 이미지 분류해보기 Fastai는 내가 tensorflow 이후 두 번째로 접했었던 딥러닝 라이브러리이다. 직장 동료로부터 이걸 소개받고는 적잖이 충격을 받았었는데, 너~무나도 간편했기 때문이다. 그동안 텐서플로로 삽질하면서 코딩을 했던 내게는 큰 신세계로 다가왔다. Fastai는 PyTorch를 기반으로 한 라이브러리이다. 엄청 간단하고, 여기저기 우수한 튜토리얼 코드들이 많아서 일반인들도 천천히 따라온다면 AI 모델링을 단 몇 시간 안에 할 수 있을 정도로 간편하다. 실제로 코드 몇 줄만으로 모델을 만들 수 있다. 신경망의 각 부분에 대해서 학습 속도를 다르게 설정할 수도 있고, 대충 돌려보는 개인 사용자들을 위해서 transfer learning도 간편하게 제공.. 2020. 9. 2.
Python Prophet - 자동차 판매량 시계열 데이터 예측하기(Time Series Forecasting) 이번 글에서는 시계열 예측을 위해 Facebook의 Prophet 라이브러리를 알아보자. 시계열 예측은 사용할 수 있는 방법들이 다양하고 각각의 방법마다 하이퍼 파라미터들이 매우 다양하기 때문에 어려울 수도 있다. Prophet 라이브러리는 일변량 시계열 데이터셋(univariate time series datasets)을 예측하기 위해 설계된 오픈소스 라이브러리이다. 기본 적으로 추세나 계절적 구조를 가진 데이터에 대해 모델에 적합한 하이퍼 파라미터들을 자동으로 찾을 수 있도록 설계되었고 사용하기 쉽다. 이번 글에서는 다룰 내용은 다음과 같다. Prophet의 전반적인 이해 Prophet 모델의 학습 방법, 입출력 형태 Prophet 모델을 평가하는 방법 이제 시작해보자. Prophet Forecast.. 2020. 8. 28.
kaggle 주택 가격 예측(5) - Stacking과 Blending으로 등수 올리기(상위 6%) 저번 글에는 몇몇 ensemble 모델을 조합해서 상위 13%에 랭크해보았다. 이번 글에서는 모델 stacking과 blending을 이용하여 상위 10% 이내에 랭크해보자. prediction with stacking models¶ 임포팅, 데이터 로딩 In [1]: # Imports import pandas as pd import numpy as np from sklearn.model_selection import cross_val_score, train_test_split, KFold from sklearn.preprocessing import StandardScaler, RobustScaler from sklearn.metrics import mean_squared_error, make_score.. 2020. 8. 24.
kaggle 주택 가격 예측(4) - 모델 앙상블으로 등수 올리기(상위 13%) 저번 글에는 regression 4종으로 예측해보고, 결과가 가장나은 ElasticNet의 결과로 제출 해보았다. 이번글에는 조금더 핫하고 자주쓰이는 모델 중 LightGBM, XGBoost, GradientBoost 그리고 꼽사리로 RandomForest와 앙상블 기법으로 등수를 올려보자. prediction with ensemble algorithms¶ 임포팅, 데이터 로딩 In [1]: # Imports import pandas as pd import numpy as np from sklearn.model_selection import cross_val_score, train_test_split, KFold from sklearn.preprocessing import StandardScaler, R.. 2020. 8. 21.
kaggle 주택 가격 예측(3) - 간단한 regression으로 예측하기(상위 30%) 저번 글에는 데이터를 전처리하고 저장했었다면 이번 글에서는 전처리 데이터로 학습하고 kaggle에 제출해 볼 예정이다. 복잡한 알고리즘 이전에 간단한 머신러닝으로 돌린 성능을 확인하기 위해, 이번 글에서는 우선 Linear regression, ridge regression, rasso regression, elasticnet 네 가지로 실습을 해보자. 그나저나 노트북을 그대로 옮겨오면 사이즈 때문에 별로 예쁘지도 않고, 작성 후 재수정시, html구조가 깨져 노트북 테마가 다 사라져 버린다. 다른 방법을 강구해봐야겠다. 4 kinds of regression¶ In [1]: # Imports import pandas as pd import numpy as np from sklearn.model_sele.. 2020. 8. 20.