如何在相同范围内对所有参数的数据进行归一化
How to normalize data for all parameters at same range of scale
我有 csv 文件,
数据:
产量:1172.4、1712.7、863.88、2731.34、5220
雨量(mm): 113.6 , 152.3 , 181.9 , 152.3 , 125.3
虚拟(types_of_soil) : 1 , 0 , 0 , 2 , 1
虚拟变量:
1 ==> 中等黑土
0 ==> 深黑色
2 ==> 萝卜棕
因变量(y):产量
独立变量:雨,虚拟(土壤类型)
所以,我想规范化这些数据,如何在 1 到 10 的范围内缩放数据?
我尝试使用公式:
(xi - min ) / (max - min )
正确吗?
以及如何缩放二进制变量(虚拟)的数据?
您可以使用此代码规范化数据
import pandas
import scipy
import numpy
from sklearn.preprocessing import MinMaxScaler
url = "filename.csv"
names = ['yield','Rain','types of soil']
dataframe = pandas.read_csv(url, names=names)
array = dataframe.values
# separate array into input and output components
X = array[:,] **select x independent variable**
Y = array[:,] **select y dependent variable**
scaler = MinMaxScaler(feature_range=(0, 1))
rescaledX = scaler.fit_transform(X)
# summarize transformed data
numpy.set_printoptions(precision=3)
print(rescaledX[0:5,:])
了解更多详情。看到这个 link
http://machinelearningmastery.com/prepare-data-machine-learning-python-scikit-learn/
我有 csv 文件,
数据:
产量:1172.4、1712.7、863.88、2731.34、5220
雨量(mm): 113.6 , 152.3 , 181.9 , 152.3 , 125.3
虚拟(types_of_soil) : 1 , 0 , 0 , 2 , 1
虚拟变量: 1 ==> 中等黑土
0 ==> 深黑色
2 ==> 萝卜棕
因变量(y):产量
独立变量:雨,虚拟(土壤类型)
所以,我想规范化这些数据,如何在 1 到 10 的范围内缩放数据?
我尝试使用公式: (xi - min ) / (max - min ) 正确吗?
以及如何缩放二进制变量(虚拟)的数据?
您可以使用此代码规范化数据
import pandas
import scipy
import numpy
from sklearn.preprocessing import MinMaxScaler
url = "filename.csv"
names = ['yield','Rain','types of soil']
dataframe = pandas.read_csv(url, names=names)
array = dataframe.values
# separate array into input and output components
X = array[:,] **select x independent variable**
Y = array[:,] **select y dependent variable**
scaler = MinMaxScaler(feature_range=(0, 1))
rescaledX = scaler.fit_transform(X)
# summarize transformed data
numpy.set_printoptions(precision=3)
print(rescaledX[0:5,:])
了解更多详情。看到这个 link http://machinelearningmastery.com/prepare-data-machine-learning-python-scikit-learn/