목록Homework/DataMining (14)
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. 개요 코드 보다는 로지스틱 회귀모형에 대한 이론적 학습을 마치고 코드 살펴봐야할 듯.. 로지스틱 회귀분석에 대한 딥러닝 코드 ## 이항 로지스틱 선형회귀모형: SGD import numpy as np from sklearn.datasets import load_iris # load iris dataset iris = load_iris() # 독립변수 X = iris.data # 종속변수: setosa: 0, (vergicolor, veriginica): 1 y = (iris.target != 0) * 1 # 계획행렬 구성 intercept = np.ones((X.shape[0], 1)) X = np.concatenate((intercept, X), axis = 1) # 초깃값 beta = np.ze..
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. 개요 - dbscan은 k-means 보다는 connectiviy 하고 - spectral 보다는 compactness 하다. 1. dbscan - 코어 데이터에서 반지름인 epsilon 을 기준으로 해당 원 안에 들어오는 데이터들을 군집으로 묶어 나간다. - 묶인 데이터가 가장 바깥에 위치하면 해당 데이터는 border 데이터, 어디에도 속하지 않는다면 noise 데이터 - moons 데이터와 같은 데이터에서 좋은 성능을 보인다. -> 클러스터 개수가 적은 데이터 - 클러스터 개수가 많은 데이터에서는 좋은 성능을 내지 못한다. - k-means는 moons 데이터에와 같은 자료형에서 좋은 성능을 못낸다. - 경우에 따라서 수치 범위를 보고 표준화를진행해주면 k-means 도 더 좋은 성능을 낼 수..
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..