분류 전체보기(852)
-
tf.contrib.learn.DNNRegressor 활용한 모델링하기
이번 편은 Regression 방법으로 하기, 개인적으로 Regression이 훨씬 잘 될 줄 알았는데, 다른 모델과 비교했을 때 그렇게 잘되지는 않았음. boston = datasets.load_boston() X_train, X_test, y_train, y_test = train_test_split( boston.data, boston.target, test_size=0.4, random_state=0) X_train.shape, y_train.shape , X_test.shape, y_test.shape ## ((303, 13), (303,), (203, 13), (203,)) import os import warnings import tensorflow as tf warnings.filterwa..
2019.06.16 -
tf.contrib.learn.DNNClassifer 활용한 모델링하기
일단은 Numeric 버전만 진행을 하려고 한다. 추후에 wide-deep 이든 embedding 해서 하는 것을 해보겠다. 여기서 tf.data를 적용하려고 했는데, 계속 안되서 포기하고 그냥 해보기! import numpy as np from sklearn.model_selection import train_test_split from sklearn import datasets cancer = datasets.load_breast_cancer() cancer.data.shape, cancer.target.shape ## stratifed를 제공했었다! X_train, X_test, y_train, y_test = train_test_split( cancer.data, cancer.target, tes..
2019.06.16 -
tf.Data를 활용하여 csv 파일부터 읽어서 텐서플로우 모델링하기
보통 데이터가 클 경우에 읽는 것도 버거울 경우가 있다. 아마 내가 여기서 기대하는 것은 읽을 때도 batch 단위로 읽어서 메모리를 다 안 쓰는? 실제로 그렇게 돌아가는지는 모르겠다. 암튼 csv 에서 자체적으로 feature를 쪼개서 학습을 시킬 때 어떻게 해야 하나 고민하다가 방법을 찾아서 공유한다. 물론 그리고 바로 모델링도 쉽게 하는 방법까지 해보겠다. 아직 해결해야할 점은 Pipeline에서 전처리도 안에서 어떻게 해야 할지다! 여기서 의문인 점은 batch 단위로 전처리를 하게 되는지 그런 것들이 좀 궁금하다. 큰 데이터에서 어떻게 전처리를 해야 효과적으로 할 수 있는지.... 아무튼 여기선 csv -> 바로 feature와 target으로 나눠서 모델링하는 것으로! import tensor..
2019.06.16 -
[Review] Character Region Awareness for Text Detection - (1)
네이버 크로버에서 쓴 OCR논문이다. 요즘 OCR 관련 상위에 있는 팀이기 때문에 열심히 배워야겠다. Abstract 최근에 Scene text detection은 Neural Network를 기반으로 한 방법이 급상승하고 있다. 이전 논문들은 엄격한 word-level로 박스를 만드는 것이 때문에 임의의 모양으로 있는 text 영역을 표현하기에는 어려웠다. 본 논문에서는, 문자 사이의 각 문자와 affinity을 탐구함으로써 텍스트 영역을 효과적으로 검출할 수 있는 new scene text detection 방법을 제안한다고 한다. 결국 chr들을 잘 잡은 다음에, 다시 잘 word로 바꿔주는 것 같다. 각각의 character level annotation의 부족을 극복하기 위해, 제안된 프레임워크..
2019.06.16 -
sklearn Pipeline을 이용해 다양한 Regression모델 모델링하기
이번에는 여러 가지 Regression 모델을 비교하는 모델을 코드를 만들어봤다. Pipeline을 쓸 기회가 없어서 잘 몰랐는데, 참 편리한 것 같다! from sklearn.linear_model import LinearRegression, Ridge, Lasso, ElasticNet from sklearn.linear_model import LassoCV , ElasticNetCV , RidgeCV from sklearn.preprocessing import PolynomialFeatures from sklearn.decomposition import PCA from sklearn.metrics import mean_squared_error as mse from sklearn.metrics impo..
2019.06.15 -
sklearn Pipeline을 이용해 다양한 Classification모델들 모델링하기
sklearn을 사용해서 sklearn에서 제공하는 다양한 분류 모델들을 비교하는 코드를 만들려고 한다. 원래는 한 Pipeline에 다 하려고 했는데, 먼가 자꾸 꼬여서 그냥 여러 개를 만드는 방향으로 바꿨다. from sklearn.model_selection import GridSearchCV from sklearn.pipeline import Pipeline , make_pipeline from sklearn.preprocessing import StandardScaler ,OneHotEncoder from sklearn.compose import ColumnTransformer from sklearn.multiclass import OneVsRestClassifier from sklearn.im..
2019.06.15 -
Sklearn SVM + OneVsRestClassifer Gridsearch
SVM Pipe Line & Grid Search & N-fold sklearn에서 poepline을 이용하면 쉽게 모델링과 GridSearch가 가능하다. 하지만 OneVsRestClassifer를 추가하려니 다음과 같은 문제가 있어서, 이것을 해결해서 공유한다. OneVsOneClassifier 도 가능할 것이다. svm = Pipeline([('scl', StandardScaler()) , ("clf", SVC(random_state=1 , probability = True))]) pipe_svc = Pipeline([('ova', OneVsRestClassifier(svm))]) cv = ShuffleSplit(n_splits=5, test_size=0.3, random_state=0) param..
2019.06.15 -
[ Python ] Scikit-Learn, Numeric 표준화 / Category Onehot 하는 Pipeline 및 모델링하는 코드
numeric_features = ['age', 'fare'] numeric_transformer = Pipeline(steps=[ ('imputer', SimpleImputer(strategy='median')), ('scaler', StandardScaler())]) ## category 있는 경우 categorical_features = ['embarked', 'sex', 'pclass'] categorical_transformer = Pipeline(steps=[ ('imputer', SimpleImputer(strategy='constant', fill_value='missing')), ('onehot', OneHotEncoder(handle_unknown='ignore'))]) preproce..
2019.06.15 -
linux Cash Swap 지우기
## 캐시 싹 지우기 echo 3 > /proc/sys/vm/drop_caches swap 캐쉬 지우기 python import os os.system(swapoff -a && swapon -a) #commad swapoff -a && swapon -a ## check 메모리 #command free -m
2019.06.15 -
Incredibly Fast Random Sampling in Python - 리뷰
샘플링을 어떻게 빠르게 할 수 있을까? numpy or random 패키지로도 할 수 있지만, 최근에 쉽게 해결할 수 없는 무작위 샘플링 문제를 발견했다고 합니다. 일단 구체적으로 필요한 것은 다음과 같다. A specified sample size (지정된 표본 크기) A specified number of samples (지정된 샘플수) Sampling without replacement A specified inclusion probability of each element’s inclusion in a given sample (주어진 표본에 각 요소가 포함될 확률을 명시) import random import numpy as np # constants num_elements = 20 num_sam..
2019.06.14 -
여러가지 구조의 Autoencoders
일반적인 AutoEncoder는 feed forward NN 구조인데, 이 구조에서는 인풋을 hidden으로 만들고 다시 인풋으로 만드는데, 이 hidden을 잘 학습을 하는 것이 목적이라고 할 수 있다. 이 포스트에서는 여러 가지 AutoEncoder 구조에 대해서 설명을 한다. 만약 우리가 수백만장의 이미지가 있고 각 이미지는 약 2MB를 차지하는데, 우리는 1MB만 제공할 수 있다. 이처럼 데이터 차원을 잘 줄여야 할 때 어떻게 해야 할까? 이미지를 잘 보다 보면, 정보와 무관한 것이 많이 있을 때가 있다. 예를 들어 배경 같은 것은 사실 이미지랑 관계없지 않은가! 그래서 이렇게 쓸모없는 정보를 줄일 수만 있다면 우리는 1MB짜리로 줄일 수 있을 것이다. 그래서 결국 Hidden으로 저장해서 많은 ..
2019.06.13 -
Activation (SQNL , Soft Cliping , Gaussian)
Activations 중에서 보통 Relu 계열들이 잘 되기 때문에 그 부분에 대해서 많이 발전을 한 것 같다. 하지만 나는 생성 모델에 관심을 가지고 있다 보니, Scaling을 특정 구간에 가두는 그런 함수들이 필요한데 그 예로는 tanh(-1, 1)와 sigmoid(0 , 1) 같은 함수가 있다. 하지만 이 함수들은 미분한 것을 이용하다보면 많은 한계가 있다는 것을 알 수 있다. 이런 것들을 사용하면 Gradient Update 하는 방식으로 하는 것에서 큰 문제가 생긴다. Layer를 깊게 쌓을 수록 Activation의 영향력이 점점 줄어든다는 단점이 분명히 존재한다. 이러한 것을 해결하기 위해 찾은 것들이 Square Nonlinearity (SQNL) ( -1 , 1) 과 Soft Clipi..
2019.06.09