목록인포섹 아카데미 (30)
배고픈 개발자 이야기
태웅이형 AutoML(자동 머신 러닝) 머신 러닝을 실제 문제에 적용하는 작업을 자동화하는 프로세스 맨 처음엔 예측 모델에서 각 요소의 상대적 중요도를 측정하는데만 사용 데이터 사전처리, 특징 추출에 사용할 수 있게 만들어짐 데이터 변환, 알고리즘 선택까지 될 수 있도록 만들어짐 단계별로 자동화 할 수 있음 불린, 이진숫자 등등 오픈소스 auto-sklearn, aws꺼, microsoft 오픈 소스 auto ml 툴킷 등등 많이 쓰는 auto-sklearn 재은님 CatBoost 시계열이 없으면 안되는데 자동으로 채워주기도함 랜덤으로 섞어주기도하는데 어려워서 잘모르겠음 태규형 nn ANN - 제일 기본적인 모델, 무조건 전부다 연결되 있어야함? DNN - 히든파라미터를 많이 늘렸다 - 적은정보로 여러 ..
Light Gradient Boosting Machine (LGBM) 1. 왜 LGBM에 대해 관심을 갖게 되었을까요? kaggle에서도 많은 인기를 끌고 있지만, 인포섹 아카데미 교육 중 진행하는 모듈 프로젝트에서 사용할 머신러닝 알고리즘 중 하나를 조사해보기로 하면서 알아보게 되었습니다. 저에게는 생소한 알고리즘으로 LGBM 관련글을 보고 이해한것을 토대로 작성하였습니다. 2. LGBM이란 무엇일까요? LGBM은 다양한 머신러닝 알고리즘 모델 중 베이직한 Decision Tree를 기반으로 만들어 졌으며, Ranking(순위 지정) 또는 Classification(분류) 및 다른 머신러닝 학습에 사용되는 알고리즘입니다. LGBM은 Performence(성능) 및 Scalability(확장성)을 목적으..
import numpy as np X = np.array([1,2,3], dtype="float32") y = np.array([2, 2.5, 3.5], dtype="float32") w, b = 2, 1 hypothesis = X*w + b w_gred = 1/3*np.dot((hypothesis-y), X.T) w = w - w_gred b_gred = 1/3*np.sum(hypothesis-y) b = b - b_gred print("w, b") print(w_gred, b_gred) print(w, b) print() # 오차제곱합이 최소화 되는 w, b를 100회에 걸쳐서 찾음 for i in range(100): hypothesis = X*w+b print("hyp[othesis:",hypot..
Exponential Moving Average 다음과 같이 주단위로 8주의 데이터를 생성한다. 아래 myEWMA는 지수이동평균값을 df.ewm(span=3).mean()과 같이 계산해주도록 정의한 메소드이다. import pandas as pd import numpy as np df = pd.DataFrame({ "week":pd.date_range(start="2020-08", periods=8, freq="W"), "sales":[39,44,40,45,38,43,39,np.nan], "3EMA":[0]*8 }) # 지수 이동 평균을 계산할 함수 # data: 지수 이동 평균을 계산할 데이터 # span: 지수 이동 평균의 거리 (강의 자료에서는 3주마다의 지수 이동 평균이므로 3) def myEWM..
Simple Moving Average 다음과 같이 pandas 메소드를 쓰면 일요일이 주단위로 8개 출력된다. import pandas as pd import numpy as np import matplotlib.pyplot as plt from datetime import datetime %matplotlib inline # 2020년 8월 부터 일요일 8개를 조회 # start : 시작일, periods : 생성할 날짜의 개수, freq : 생성할 날짜의 주기 pd.date_range(start="2020-08", periods=8, freq="W") 다음은 데이터 프레임 컬럼으로 사용했을 때와 3주치 평균 컬럼을 추가한것이다. df = pd.DataFrame({ "week":pd.date_rang..
XGBoost를 이용한 유방암 데이터 분류 - 캐글 대회에 나왔었음 XGBoost라는 객체를 사용하여 유방암 분류 머신러닝 기법을 적용시켜 볼것이다. import xgboost as xgb from xgboost import plot_importance from xgboost import XGBClassifier import pandas as pd import numpy as np from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split, GridSearchCV from sklearn.metrics import confusion_matrix, accuracy_score from sk..
사용할 모듈추가 from sklearn.datasets import load_iris from sklearn.metrics import accuracy_score, classification_report from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split import numpy as np import pandas as pd 데이터 로드 및 쪼개기 iris = load_iris() x_train = iris.data[:-30] y_train = iris.target[:-30] x_test = iris.data[-30:] y_test = iris.target[-30:] 쪼갠..
연습 사용하는 모듈 from sklearn.metrics import classification_report, confusion_matrix from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn import tree from sklearn.metrics import accuracy_score from IPython.display import Image import pandas as pd import numpy as np import pydotplus import os 전처리 tennis_data = pd.read_csv('playtennis.csv') te..