小编bba*_*ran的帖子

如何使用 StandardScaler 正确扩展训练、验证和测试集?

有文章说,在只有训练集和测试集的情况下,首先需要使用fit_transform()对训练集进行缩放,然后对测试集只使用transform(),以防止数据泄露。

就我而言,我也有验证集。

我认为下面这些代码之一可以使用,但我不能完全依赖它们。任何形式的帮助将不胜感激,谢谢!

1)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size = 2/7)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_val = scaler.transform(X_val)
X_test = scaler.transform(X_test)
Run Code Online (Sandbox Code Playgroud)

2)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3)

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)

X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size = 2/7)
X_test = scaler.transform(X_test)
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn

3
推荐指数
1
解决办法
1729
查看次数

Python:为什么将不同类型的参数传递给类型定义的函数不会引发任何错误?类型注释只是为了可读性吗?

在Python中,我们可以定义参数的类型并返回数据。我只是想知道为什么下面的代码没有引发任何异常。

这里有两个违规行为。我传递的是浮点数而不是整数并返回浮点数,而我已经定义了“None”,这意味着该函数不会返回任何内容。

def funct(number: int) -> None:
    number += 1
    return number

print(funct(3.7))
Run Code Online (Sandbox Code Playgroud)

此功能只是为了在可读性方面说明参数/返回类型吗?

python

1
推荐指数
1
解决办法
327
查看次数

标签 统计

python ×2

machine-learning ×1

scikit-learn ×1