sklearn.preprocessing.MinMaxScaler

sklearn.preprocessing.MinMaxScaler

sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True)
将数据的每一个特征缩放到给定的范围,将数据的每一个属性值减去其最小值,然后除以其极差(最大值 - 最小值)

原理实现:
X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
缩放回去:
X_scaled = X_std * (max - min) + min

Parameters(参数):

feature_range : tuple (min, max), default=(0, 1)
所需的转换数据范围。
copy : boolean, optional, default True
是否将转换后的数据覆盖原数据,默认为false.

>>> from sklearn.preprocessing import MinMaxScaler
>>> data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
>>> scaler = MinMaxScaler()
>>> print(scaler.fit(data))
MinMaxScaler(copy=True, feature_range=(0, 1))
>>> print(scaler.data_max_)
[ 1. 18.]
>>> print(scaler.transform(data))
[[0.   0.  ]
 [0.25 0.25]
 [0.5  0.5 ]
 [1.   1.  ]]
>>> print(scaler.transform([[2, 2]]))
[[1.5 0. ]]

注意:

NaNs(缺失值)在fit中忽视,在transform中保持。

Attributes(属性):

**min_ : 每个特征调整的最小值
scale_ :每个特征数据缩放的比例
data_min_ : 每个特征的最小值
data_max_ : 每个特征的最大值
data_range_ :*数据中看到的每个特征范围(data_max_-data_min_)

Methods(方法):

  • fit(self, X[, y]) 计算用于以后缩放的最小值和最大值

  • fit_transform(self, X[, y]) Fit 数据, 然后 transform

  • get_params(self[, deep]) 得到这个estimator .的参数

  • inverse_transform(self, X) 根据feature_range撤消X的缩放比例

  • partial_fit(self, X[, y]) Online computation of
    min and max on X for later scaling

  • set_params(self, **params)
    设置此 estimator(估计器,评估器) 的参数

  • transform(self, X) 根据feature_range缩放X 的特征

你可能感兴趣的:(机器学习)