scale train and test data to [-1, 1]
时间: 2024-03-03 21:50:06 浏览: 76
将数据缩放到`[-1,1]`的范围内是常见的数据预处理步骤,有助于提高许多机器学习算法的性能。下面是一个示例函数,用于将训练集和测试集数据缩放到`[-1,1]`的范围内:
```
from sklearn.preprocessing import MinMaxScaler
# 将训练集和测试集缩放到[-1,1]的范围内
def scale(train, test):
# 拟合缩放器并转换训练集数据
scaler = MinMaxScaler(feature_range=(-1, 1))
scaler = scaler.fit(train)
train = train.reshape(train.shape[0], train.shape[1])
train_scaled = scaler.transform(train)
# 转换测试集数据
test = test.reshape(test.shape[0], test.shape[1])
test_scaled = scaler.transform(test)
return scaler, train_scaled, test_scaled
```
该函数接受训练集和测试集数据,并返回一个缩放器、缩放后的训练集和缩放后的测试集。在上面的示例函数中,我们使用`MinMaxScaler`类来将数据缩放到指定范围内。函数返回的缩放器对象可以用于将其他数据缩放到相同的范围内。
例如,如果我们有一个训练集和一个测试集,它们的值范围在`[0, 100]`之间,则将它们缩放到`[-1, 1]`的范围内后,它们的值将在`[-1, 1]`之间。
阅读全文