我们应该对整个数据集应用归一化还是只对 X

哈马德·沙赫扎德

我正在做一个基于机器学习(Python)的项目,并在我的数据上尝试所有模型。真的很迷茫

分类和回归

  1. 如果我必须对整个数据集应用归一化、Z 分数或标准差,然后设置特征(X)和输出(y)的值。
    def normalize(df):
        from sklearn.preprocessing import MaxAbsScaler
        scaler = MaxAbsScaler()
        scaler.fit(df)
        scaled = scaler.transform(df)
        scaled_df = pd.DataFrame(scaled, columns=df.columns)
        return scaled_df
    
data=normalize(data)
X=data.drop['col']
y=data['col']

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

  1. 或者只需要申请特征(X)
X=data.drop['col']
y=data['col']

def normalize(df):
    from sklearn.preprocessing import MaxAbsScaler
    scaler = MaxAbsScaler()
    scaler.fit(df)
    scaled = scaler.transform(df)
    scaled_df = pd.DataFrame(scaled, columns=df.columns)
    return scaled_df

X=normalize(X)

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

石膏

TLDR;对输入数据进行标准化,但不要对输出进行标准化。

从逻辑上讲,归一化既取决于算法,也取决于特征。

有些算法不需要任何规范化(如决策树)。

对数据集应用归一化:如果数据集中有多个特征,则应该对每个特征执行归一化,但对整个数据集中存在的所有示例进行归一化。

例如,假设您有两个特征 X 和 Y。特征 X 始终是 [0,10] 范围内的小数。另一方面,您的 Y 在 [100K,1M] 范围内。如果您对 X 和 Y 进行一次归一化,并对 X 和 Y 组合进行一次归一化,您会看到特征 X 的值如何变得微不足道。

对于输出(标签):

通常,不需要对任何回归或分类任务的输出或标签进行归一化。但是,请确保在训练时间和推理时间对训练数据进行归一化。

如果任务是分类,常见的方法就是对类别编号进行编码(如果您有狗和猫类别。您将 0 分配给一个,将 1 分配给另一个)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我们应该在有角度的应用程序中对状态进行归一化吗?

如何确定我们的系统是遵循X86还是X64。建筑学

我们应该将lambda表达式理解为“ takeing” x“ return” x + 1吗?

我们有办法在 Python 3.x 中对数字应用多种格式吗?

我们可以说0.5 * x + 0.5 * x == x总是正确的吗?

我们可以包含(x=>x.Entity) 然后选择(x=> new Entity{ A=xA })

我应该分别部署中立的应用程序捆绑包还是x86,x64,ARM?

我应该使用VNC还是X协议从Windows控制Linux应用程序?

在pyhash.murmur3_x ** _ 128()(“ foo”)中,我们需要考虑使用python平台还是linux平台位?

从多个数据源创建DataFrame时,我们应该使用for循环还是列表理解?

iPhone X-我们应该如何处理表格节标题上方的空间?通过内容显示

train_test_split中的X参数是没有目标类的整个数据,还是还包含目标类?

使用 -s 或 -X 与我们的合并

当(x)时,我们能否检查“ AND”条件?

让我们用vert.x加密

我应该使用Point.x还是Point.getX()?

为什么我们用“ foo”代替“ function(x){return foo(x);}”

我们可以在Prolog中将X / Y或X:Y放在哪个类别中

我们如何找到R中离散随机变量X的E(X ^ n)?

我们可以在OS X 10.9.2上启用1920 X 1200 HiDPI模式吗?

仅对于iPhone,iOS 7+应用程序,我们可以仅包含@ 3x图像吗?

我应该使用Ruby 1.9x还是2.0x?

使用同一x轴为多个数据集绘制1行

X轴比例尺与同一绘图上的2个数据集不匹配

我们如何在没有数据库的情况下设置cakephp 3.x?

当我们有几个组时,基于控件的样本归一化

归一化单位,为什么我们在数值积分中使用它们?

如果我们有一些二叉搜索树并执行 add(x) 和 remove(x) 操作,我们是否一定要返回原始树?

当绘制两个数据集并且其中一个数据集多得多时,我们如何“标准化”它们以使它们在表示上相等?