只有一个输入时如何处理MinMaxScaler?

我正在与MinMaxScaler。所以下面的输入:


data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]

将在范围(0,1)中转换如下:


[[ 0.    0.  ]

 [ 0.25  0.25]

 [ 0.5   0.5 ]

 [ 1.    1.  ]]

现在如何转换单个输入?在传递单个输入时,例如:


data = [[1,18]]

将转换如下:


[[0.,0.]]

原因是,没有Min也没有Max,因此缩放到0。但是,如果我只有一个输入并希望将其传递给机器学习模型(在缩小输入和输出后进行训练)作为输入,我该怎么办?无论缩放前数据中的差异如何,所有输出都是相同的。这绝对是不对的。我能在这里做什么?有什么方法可以将单个输入表示为不是一系列的0.?


这是我在培训过程中所做的:


    X_scaler = MinMaxScaler(feature_range=(0, 1))

    Y_scaler = MinMaxScaler(feature_range=(0, 1))


    # Scale both training inputs and outputs

    X_scaled_training = X_scaler.fit_transform(X_training)

    Y_scaled_training = Y_scaler.fit_transform(Y_training)


    X_scaled_testing = X_scaler.transform(X_testing)

    Y_scaled_testing = Y_scaler.transform(Y_testing)

在训练过程中,我按如下所示反转了模型中的值,以获得最终的输出分数:


Y_predicted = Y_scaler.inverse_transform(Y_predicted_scaled)


慕妹3146593
浏览 238回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java