所以,我有一个疑问并一直在寻找答案。问题是当我使用时,
from sklearn import preprocessing
min_max_scaler = preprocessing.MinMaxScaler()
df = pd.DataFrame({'A':[1,2,3,7,9,15,16,1,5,6,2,4,8,9],'B':[15,12,10,11,8,14,17,20,4,12,4,5,17,19],'C':['Y','Y','Y','Y','N','N','N','Y','N','Y','N','N','Y','Y']})
df[['A','B']] = min_max_scaler.fit_transform(df[['A','B']])
df['C'] = df['C'].apply(lambda x: 0 if x.strip()=='N' else 1)
在此之后,我会训练和测试模型(A
,B
作为特征,C
作为标签)并获得一些准确率。现在我的疑问是,当我需要预测新数据集的标签时会发生什么。比方说,
df = pd.DataFrame({'A':[25,67,24,76,23],'B':[2,54,22,75,19]})
因为当我对列进行标准化时,A
和B
的值将根据新数据而不是模型训练所使用的数据进行更改。因此,现在经过数据准备步骤后,我的数据如下。
data[['A','B']] = min_max_scaler.fit_transform(data[['A','B']])
根据df [['A','B']]
的Max
和Min
值,A
和B
的值将发生变化。df [['A','B']]
的数据准备是基于df [['A','B']]
的Min Max
。
不同数字之间如何进行有效的数据准备?我不明白这里的预测将如何正确。