- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我有这个疑问,并一直在寻找答案。所以问题是当我使用时,
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']])
A
和 B
的值将根据 的
. Max
和 Min
值而变化df[['A','B']]df[['A','B']]
的数据准备是相对于 df[['A','B'' 的
。Min Max
]]
对于不同的数字关联,数据准备如何有效?我不明白这里的预测如何正确。
最佳答案
训练
数据拟合MinMaxScaler
,然后在预测之前将缩放器应用于测试
数据。总结:
scaler
安装到TRAINING 数据
scaler
转换 TRAINING 数据
转换后的训练数据
来拟合预测模型
scaler
转换 TEST 数据
训练模型
(第 3 步)和转换后的测试数据
(第 4 步)进行预测
。使用您的数据的示例:
from sklearn import preprocessing
min_max_scaler = preprocessing.MinMaxScaler()
#training data
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']})
#fit and transform the training data and use them for the model training
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)
#fit the model
model.fit(df['A','B'])
#after the model training on the transformed training data define the testing data df_test
df_test = pd.DataFrame({'A':[25,67,24,76,23],'B':[2,54,22,75,19]})
#before the prediction of the test data, ONLY APPLY the scaler on them
df_test[['A','B']] = min_max_scaler.transform(df_test[['A','B']])
#test the model
y_predicted_from_model = model.predict(df_test['A','B'])
<小时/>
使用虹膜数据的示例:
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn.svm import SVC
data = datasets.load_iris()
X = data.data
y = data.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)
scaler = MinMaxScaler()
X_train_scaled = scaler.fit_transform(X_train)
model = SVC()
model.fit(X_train_scaled, y_train)
X_test_scaled = scaler.transform(X_test)
y_pred = model.predict(X_test_scaled)
希望这有帮助。
关于python - 如何使用 MinMaxScaler sklearn 标准化训练和测试数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50565937/
我正在使用从 Lynda.com 获取的 sklearn MinMaxScaler 代码来缩放预测代码的数据集。特征范围应该是 (0,1),但我注意到我的试验数据中有些列大于 1。我相信这导致我的预测
我正在尝试规范化 df 并保存列和行索引/标题。 Sym1 Sym2 Sym3 Sym4 1 1 1 1 2 8 1 3 3 2 9
现在,我的数据在一个 2 x 2 numpy 数组中。如果我要在数组上使用 MinMaxScaler fit_transform,它将逐列对其进行归一化,而我希望将整个 np 数组一起归一化。有办法吗
现在我一直在解决扩展新数据的问题。在我的方案中,我已经训练并测试了模型,所有 x_train 和 x_test 都使用 sklearn.MinMaxScaler() 进行了缩放。然后,应用于实时过程,
我有一个包含 5 个特征的数据集。其中两个特征非常相似,但不具有相同的最小值和最大值。 ... | feature 2 | feature 3 | ... ----------------------
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 去年关闭。 Improve this questio
我想使用MinMaxScaler缩放Pandas dataFrame中的某些(但不是全部)列。我该怎么做? 最佳答案 由于sklearn> = 0.20,您可以使用Column Transformer
假设我有以下数据框 +---+-----+-------+ |day| time| result| +---+-----+-------+ | 1| 6 | 0
在 sklearn 的 MinMaxScaler 的早期版本中,人们可以指定缩放器对数据进行标准化的最小值和最大值。换句话说,以下情况是可能的: from sklearn import preproc
我想将每个 channel (R、G、B)的图像像素值标准化到范围 [0, 1]。 最小示例 #!/usr/bin/env python import numpy as np import scipy
我目前正在预处理我的数据,我知道我必须使用与我的训练集和测试集相同的缩放参数。然而,当我应用 sklearn 库中的 transform 方法时,我注意到一些奇怪的事情。 我首先在训练集上使用了 pr
我有三个数据框,每个数据框都使用 MinMaxScaler() 单独缩放。 def scale_dataframe(values_to_be_scaled) values = values_t
我像这样使用 sklearn MinMaxScaler()。 from sklearn.preprocessing import MinMaxScaler sc = MinMaxScaler() tr
我想将 PySpark 的 MinMaxScalar 应用于 PySpark 数据框 df 的多列。到目前为止,我只知道如何将其应用于单个列,例如x。 from pyspark.ml.feature
我有 1320 个训练样本(海面温度),每个样本都是一个二维数组(160,320),因此最终数组的形状为(1320,160,320)。我想使用 MinMaxScaler() 将它们标准化为 0 到 1
所以,我有这个疑问,并一直在寻找答案。所以问题是当我使用时, from sklearn import preprocessing min_max_scaler = preprocessing.MinM
我根据它的列缩放了一个矩阵,如下所示: scaler = MinMaxScaler(feature_range=(-1, 1)) data = np.array([[-1, 2], [-0.5, 6]
我正在尝试使用 sklearn.preprocessing.MinMaxScaler 来缩放使用 Keras 构建的 RNN 的 y 值 from sklearn.preprocessing impo
我正在尝试使用 sklearn 中的 preprocessing 将一些数字缩放到 0 - 1 的范围内。这就是我所做的: data = [44.645, 44.055, 44.54, 44.04,
我想在多个 pandas DataFrame 上“一起”应用 MinmaxScaler。这意味着我希望缩放器对这些列中的所有数据执行,而不是对每一列单独执行。 我的 DataFrame 有 20 列。
我是一名优秀的程序员,十分优秀!