MinMaxScaler

MinMaxScaler »ç¿ë¹ý¿¡ ´ëÇؼ­ ¾Ë¾Æ º¸ÀÚ.

MinMaxScaler´Â °ªÀ» 0°ú 1»çÀÌÀÇ °ªÀ¸·Î Á¤±ÔÈ­ ÇÑ´Ù.
°ø½ÄÀº ´ÙÀ½°ú °°´Ù.
y = (x - minx) / (maxx -minx)

MinMaxScaler °ªÀº 1Â÷¿ø ¹è¿­À» ¾È¹Þ±â ¶§¹®¿¡ 2Â÷¿øÀ¸·Î ¹è¿­À» ¸¸µé¾ú´Ù.
from sklearn.preprocessing import MinMaxScaler

data = [[0, 1000], [10, 1], [20, 1], [30, 1], [40, 1], [50, 1]]

scaler = MinMaxScaler()
res = scaler.fit(data)

print('----------------------')
print('min=', scaler.data_min_)
print('max=', scaler.data_max_)

print('------ transform --------')
res = scaler.transform(data)
print(res)
print('res[4]= ', res[4])
print('res[5]= ', res[5][0])

°á°ú)
----------------------
min= [0. 1.]
max= [  50. 1000.]
------ transform --------
[[0.  1. ]
 [0.2 0. ]
 [0.4 0. ]
 [0.6 0. ]
 [0.8 0. ]
 [1.  0. ]]
res[4]=  [0.8 0. ]
res[5]=  1.0



ÂüÁ¶)  1Â÷¿øÀ¸·Î MinMaxScaler »ç¿ëÇϱâ

numpy reshape¸¦ ÀÌ¿ëÇØ Â÷¿øÀ» ¹Ù²Ù¸é °¡´ÉÇÏ´Ù.
reshape¿¡ -1À» »ç¿ëÇϸé numpy¿¡¼­ ¾Ë¾Æ¼­ º¯È¯ÇÑ´Ù.

from sklearn.preprocessing import MinMaxScaler
import numpy as np

data = np.array([0, 10, 20, 30, 40, 50])
data = data.reshape(-1, 1)
print(data)

scaler = MinMaxScaler()
res = scaler.fit(data)

print('----------------------')
print('min=', scaler.data_min_)
print('max=', scaler.data_max_)

print('------ transform --------')
res = scaler.transform(data)
print(res)
print('res[4]= ', res[4])
print('res[5]= ', res[5][0])

°á°ú)
[[ 0]
 [10]
 [20]
 [30]
 [40]
 [50]]
----------------------
min= [0.]
max= [50.]
------ transform --------
[[0. ]
 [0.2]
 [0.4]
 [0.6]
 [0.8]
 [1. ]]
res[4]=  [0.8]
res[5]=  1.0

----------------------------------------------------------------------------------------------------

reshape(-1, 1)À» »ç¿ëÇÒ¶§ data´Â ´ÙÀ½°ú °°ÀÌ ¹Ù²ï´Ù.

[[0. ]
 [0.2]
 [0.4]
 [0.6]
 [0.8]
 [1. ]]

reshape(1, -1)À» »ç¿ëÇÒ¶§ data´Â ´ÙÀ½°ú °°ÀÌ ¹Ù²ï´Ù.

[[ 0 10 20 30 40 50]]

°á°úµµ ÀÌ»óÇÏ°Ô ³ª¿Â´Ù.

data = data.reshape(1, -1)
[[ 0 10 20 30 40 50]]
----------------------
min= [ 0. 10. 20. 30. 40. 50.]
max= [ 0. 10. 20. 30. 40. 50.]
------ transform --------
[[0. 0. 0. 0. 0. 0.]]