2017-09-18 4 views
-1

다른 노트북 내의 데이터에 동일한 변환을 적용 할 수 있도록 min_max_scaler 속성을 다운로드하는 방법은 어떻게됩니까?sklearn minmaxscaler 다른 노트북에 이식 됨

완전한 공개를 위해 한 노트북에서 NN을 교육했으며 다른 위치에서 실행 중입니다. NN의 훈련 된 가중치를 두 번째 위치에로드하는 것은 간단하지만 데이터를 모델에 입력하기 전에 크기를 조정해야합니다. 정확하기 위해서는 원래의 크기 속성을 사용해야한다고 생각합니다. documentation

+0

좀 더 문서를 읽고, (다시 가정 기능의 범위는 기본 (0,1)에 남아) min_max_scaler.scale_로 나눕니다. – a1letterword

+0

'pickle'을 사용하여 객체를 저장할 수 없습니까? 코드가 없으면이 질문은 너무 광범위합니다. –

답변

0

, 당신은 X는 원본 데이터 셋입니다

X_std = (X - X.min(axis=0))/(X.max(axis=0) - X.min(axis=0)) 
X_scaled = X_std * (max - min) + min 

를 사용하여 않는 최대 어떤 분 스케일러 다시 만들 수 있습니다. (기능 범위가 기본값 (0,1) 인 경우 위의 두 번째 줄은 필요하지 않습니다. X_scaled = X_std과 함께 나타납니다)

이미 숙련 된 MaxMinScaler를 사용하여 동일한 계산을 수행하려는 경우 대신 원본 데이터 셋의 다음 예를 살펴 난 그냥 min_max_scaler.min_하여 새로운 데이터를 뺄 것

from sklearn.preprocessing import MinMaxScaler 
import pandas as pd 
import numpy as np 

# Test data set 
X = pd.DataFrame(np.random.randint(0, 100, size=(20,4))) 

# Test scaler 
scaler = MinMaxScaler() 
sklearn_result = scaler.fit_transform(X) 

# Compute, and verify results match up to machine precision 
manual_result = (X - scaler.data_min_)/(scaler.data_max_ - scaler.data_min_) 
(sklearn_result - test).max().max() . # Is around 10e-16