목록데이터마이닝 (12)
without haste but without rest
0. 개요 pickle type으로 모델을 저장한다 -> deployment ## Deployment ## ### Store Model for Later with Pickle ### # import module import pickle # save the pipeline model to disk pickle.dump(model, open('./model.pkl', 'wb')) # load the pipeline model from disk and deserialize model_load = pickle.load(open('./model.pkl', 'rb')) # use the loaded pipeline model to predict on new data y_pred = model_load.predict..
0. 개요 교차 검증과 파이프라인에 대해서 학습 교차검증 ### Building a Pipeline ### # load iris and create X and y import pandas as pd import seaborn as sns sns.set_context("paper", font_scale = 1.5) sns.set_style("white") from sklearn.datasets import load_iris dataset = load_iris() X, y = dataset.data, dataset.target from sklearn.decomposition import PCA pca = PCA(n_components = 2) # fit and transform using 2 input di..
0. 개요 (1). impurity (불순도) - entropy - gini (2). pruning (가지치기) 1. data load ## 의사결정나무 ## iris data from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier iris = load_iris() y = iris.target X = iris.data[:, 2:] feature_names = iris.feature_names[2:] 2. partitioning #파티션 기준 엔트로피, 브랜치 길이 1 tree = DecisionTreeClassifier(criterion = 'entropy', max_depth = 1, random_sta..
0. 개요 (1) OLS (Ordinary Least Squares) - 일반적으로 흔히 사용하는 최소 제곱법을 이용하는 회귀분석 (2) SGD (Stochastic Gradient Desecnt) - 확률적 경사 하강법 - cost function을 최소화 하는 지점을 찾기 위해 사용한다. - 미니 배치를 사용해서 학습 속도를 높일 수 있다. 1. 데이터 로드 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns ## California house price url = "https://raw.githubusercontent.com/johnwheeler/handson-ml/master/data..
0. 개요 - 앞으로 다룰 4가지 학습은 비지도 학습이다. - k-mean, hierarchical, dbscan, spectral (1) k-means - 유저가 hyperparameter value인 k를 인위적으로 정하고 군집을 k개 만큼 만든다. (2) hierarchical clustering (계층적 군집화) - 두 점의 거리를 기준으로 군집화 해 나가는 방법 - 단 이때 정해준 리미트 거리(y 값)에 따라서 군집의 개수가 달라진다. - 계산량이 많다. - 거리에 따른 군집 개수는 dendrogram으로 확인 할 수 있다. (3) 실루엣 스코어 - 클러스터링 모델을 평가하는 스코어 1. 샘플 데이터 생성 import pandas as pd import seaborn as sns sns.set_..
0. 개요 1. 주성분 분석을 하는 이유 - 변수들이 많은 경우 종속변수에 영향을 크게 주는 주요한 속성들을 골라내서 모델을 간단하게 만들 수 있다. 2. 과정 - 데이터 로드 - 선형 변환 - 표준화 - 비교 분석(원자료 vs 차원축소 자료) 1. 랜덤 변수 생성 from sklearn.decomposition import PCA import matplotlib.pyplot as plt import numpy as np ''' 모의 실험 ''' # 난수 생성 rnd = np.random.RandomState(5) X_ = rnd.normal(size = (300, 2)) plt.scatter(X_[:, 0], X_[:, 1], c = X_[:, 0], linewidths = 0, s = 60, cmap..
0. 개요 피쳐 셀렉션에 사용할 수 있는 두 가지 방법 1. 분산을 이용하는 방법 - 분산이 작은 데이터는 종속변수에 영향을 덜 줄것이므로 제거한다. 2. 상관계수를 이용하는 방법 - 기준치를 두고 선택한다. ex) 상관계수가 |0.6| 이상 - 예측하고자 하는 변수와 상관계수가 높은 변수일수록 해당 변수에 영향력이 크기 때문이다. 1. 분산을 이용한 방법 ################################################################################### ## Feature selection(fitering) ##################################################################################..
0. 개요 1. 원핫 인코딩 - 범주형 데이터를 수치로 변환한다. - 각각의 범주를 속성으로 만들어서 해당 범주에 속하면 1, 아니면 0 2. 라벨 인코딩 - 범주형 데이터를 수치로 변환한다. - 각각의 범주형 데이터에 고유 번호를 부여한다. 1. One-Hot Encoding -범주형 데이터 (Categorical Data)를 수치로 변경해주는 작업이다. (1) costom coding ################################################################################### ## One-hot Encoding ###########################################################################..