train_test_split :无法识别分层?

数据挖掘 机器学习 Python scikit-学习
2022-02-25 14:34:07

我正在尝试设置stratify = True,但不知何故 jupyter notebook 说'名称'y'未定义'

X_train, X_test, y_train, y_test = train_test_split(
    loan.drop('Loan_Status', axis=1), 
    loan['Loan_Status'], test_size=0.2, random_state=0, stratify=y)

谁能告诉我正确的方法是什么?

我正在使用 Scikit-learn v0.19.1 并尝试设置stratify = True / y / 2但它们都不起作用。

2个回答

您需要将包含类标签(或任何分层标准)的数组stratify作为参数传递给.

在您的情况下,答案可能是loan['Loan_Status'].values.

需要定义分层参数,即y必须首先定义。

X = loan.drop('Loan_Status', axis=1)
y = loan['Loan_Status']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0, stratify=y)