MinMaxScaler函数在preprocessing模块,用来实现数据的归一化,即把数据映射到[0,1]的区间中。
将数据进行归一化
进行数据处理,我在通达信上下载了上证指数的日线数据,只有1600多行,然后进行了处理,按照老师的代码,自己又改了一下,因为没有那么多的数据,就用前1300行的开盘价数据作为training_set,剩下的数据作为test_set。
training_set = data.iloc[:1300, 0:1].values #选取1到1300行,第一列的数据也就是开盘价,方括号中逗号之前是行的范围,之后是列的范围
test_set = data.iloc[1300:, 0:1].values #1300行之后的作为测试集
fit_transform是fit和transform的组合,既包括了训练又包含了转换。
fit_transform对部分数据先拟合fit,找到该部分的整体指标,如均值、方差、最大值最小值等等,然后对该trainData进行转换transform,从而实现数据的标准化、归一化等等。
活动地址:CSDN21天学习挑战赛
归一化的目的就是使得预处理的数据被限定在一定的范围内,从而减小奇异样本数据导致的不良影响。奇异样本数据的存在会引起训练时间增大,同时也可能导致无法收敛。当存在奇异样本数据时,在进行训练之前需要对预处理数据进行归一化;反之,不存在奇异样本数据时,则可以不进行归一化。
sc = MinMaxScaler(feature_range=(0, 1))
training_set = sc.fit_transform(training_set)
test_set = sc.transform(test_set)
fit:简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。transform:在fit的基础上,进行标准化,降维,归一化等操作
开盘 最高 最低 收盘 成交量
日期
2015/09/02 3194.49 3160.17 4.232624e+11 NaN NaN
2015/09/07 3217.58 3080.42 3.026897e+11 NaN NaN
2015/09/08 3174.71 3170.45 2.639104e+11 NaN NaN
2015/09/09 3256.74 3243.09 4.129914e+11 NaN NaN
2015/09/10 3243.28 3197.89 2.995811e+11 NaN NaN
文章为作者独立观点,不代表股票交易接口观点