2017-11-10 7 views
0

값이있는 float 32 배열이 있고 sklearn minMaxScaler 함수에서 잘못된 결과를 얻는 것 같습니다.MinMaxScaler를 사용하여 결과가 좋지 않으면 fuction을 잘못 사용하고 있습니까?

# ensure all data is float 
values = values.astype('float32') 
print(values) 
[[ 1. 2. 3. 0. 0.] 
[ 2. 2. 3. 0. 0.] 
[ 2. 3. 3. 0. 0.] 
[ 2. 3. 4. 0. 0.] 
[ 1. 2. 3. 0. 0.] 
[ 1. 2. 3. 0. 0.]] 
In [34]: 

# normalize features 
scaler = MinMaxScaler(feature_range=(0, 1)) 
scaled = scaler.fit_transform(values) 
print(scaled) 
[[ 0. 0. 0. 0. 0.] 
[ 1. 0. 0. 0. 0.] 
[ 1. 1. 0. 0. 0.] 
[ 1. 1. 1. 0. 0.] 
[ 0. 0. 0. 0. 0.] 
[ 0. 0. 0. 0. 0.]] 
In [28]: 

나는 함수를 잘못 사용하고 있습니까? 미리 감사드립니다!

답변

3

열당 MinMaxScaler 눈금. 결과가 정확합니다. 첫 번째 열에서는 예를 들어 최소 (1)은 0으로, 최대 값 (2)은 1로 예상됩니다.

+0

그러면 모든 데이터를 정규화하는 올바른 방법은 무엇입니까? – user2162942

+0

왜 MinmaxScaler 결과가 적합하지 않습니까? 달성하고자하는 것은 무엇입니까? 질문을 연장하십시오. – lanenok

+0

데이터를 정규화하려고하고 있는데, minmaxscaler를 사용하는 튜토리얼을 따르고 있었지만 sklearn의 normalize 함수를 사용하여 끝냈습니다. 정상적으로 작동했습니다. 도와 주셔서 감사합니다! – user2162942