class MinMaxScaler: def __init__(self): self.min_ = None self.max_ = None def fit(self,X): '''根据训练数据集X获得数据的最小值和最大值''' self.min_ = np.array([np.min(X[:,i]) for i in range(X.shape[1])]) self.max_ = np.array([np.max(X[:,i]) for i in range(X.shape[1])]) return self def transform(self,X): '''将X根据MinMaxScaler进行最值归一化处理''' resX = np.empty(shape=X.shape,dtype=float) for col in range(X.shape[1]): resX[:,col] = (X[:,col]-self.min_[col]) / (self.max_[col]-self.min_[col]) return resX
时间: 2024-04-29 10:19:39 浏览: 145
python基础进阶1.6:面向对象之类,对象及__init__(),self相关用法讲解
这是一个使用 NumPy 实现的最小-最大缩放器(MinMaxScaler)类的代码。它包含三个方法:
1. `__init__(self)` 方法:初始化最小值和最大值属性。
2. `fit(self, X)` 方法:根据训练数据集 X 计算数据的最小值和最大值。
3. `transform(self, X)` 方法:将数据集 X 最小-最大缩放器进行归一化处理。
其中 `fit` 方法用于计算数据的最小值和最大值,`transform` 方法用于进行数据的最小-最大缩放,将数据缩放到 [0, 1] 范围内。使用此类可以使得特征之间的比较更加公平,从而提高机器学习算法的性能。
阅读全文