Python 如何使用在标准化输入上训练的模型来标准化不可见的输入以进行预测?

Python 如何使用在标准化输入上训练的模型来标准化不可见的输入以进行预测?,python,machine-learning,regression,data-preprocessing,Python,Machine Learning,Regression,Data Preprocessing,我正在研究一个问题,我使用3个特性(3列)使用弹性净回归预测价格。没有标准化或缩放,即使只有20行的训练数据,我也能得到很好的结果,但通过标准化或缩放,可以得到更好的结果。我见过这么多这样做的方法,它变得有点混乱。规范化输入的最佳方法是什么?如何规范化一组看不见的数据?下面是我到目前为止的一些代码 建立培训和验证 X = array[:,0:3] y = array[:,3] X_train, X_validation, Y_train, Y_validation = train_test_sp

我正在研究一个问题,我使用3个特性(3列)使用弹性净回归预测价格。没有标准化或缩放,即使只有20行的训练数据,我也能得到很好的结果,但通过标准化或缩放,可以得到更好的结果。我见过这么多这样做的方法,它变得有点混乱。规范化输入的最佳方法是什么?如何规范化一组看不见的数据?下面是我到目前为止的一些代码

建立培训和验证

X = array[:,0:3]
y = array[:,3]
X_train, X_validation, Y_train, Y_validation = train_test_split(X,y, test_size=0.20, random_state=1)
弹性网回归的数据拟合

elastic = ElasticNet()
elastic.fit(X_train, Y_train)
为不可见数据定义预测函数

def predict(a,b,c):
input = [[a,b,c]]
input_df=pd.DataFrame(input,columns=('count', 'length', 'diverts'))
final_input = input_df.values
output=elastic.predict(final_input)
print(output) 
我会对看不见的输入做出如下预测:

predict (3,1188,80)
对于第一列,需要注意的可能是,最小值为2,最大值为6。第二列的最小值为509,最大值为2688。第三个最小值为17,最大值为212。输出列的范围从1470000到4200000

我已经读过,我只需要规范化输入(训练和验证),而不需要规范化输出。我该怎么做?我该如何规范化看不见的输入以做出真实世界的预测