在分割数据集时,为什么人们要遵循命名约定?

sat*_*vvd 2 python machine-learning

X_train, X_test, y_train, y_test = \
    train_test_split(X, y, test_size=0.30, random_state=1)
Run Code Online (Sandbox Code Playgroud)

在此示例中(X_train, X_test) X,以大写形式提及,而 (y_train, y_test)此处y以小写形式提及。

是否有任何令人信服的理由来遵循该命名约定?

hba*_*rts 6

这是因为您有多个特征(输入)和一个响应变量(输出)的情况​​。然后,输入是具有列和行X的矩阵,输出 是具有元素的列向量。遵循数学和/或相关领域广泛使用的用大写字母命名矩阵和用小写字母命名向量的约定,必须是大写字母和必须是小写字母是有意义的。number_of_featuresnumber_of_samplesynumber_of_samplesXy

如果只有一个特征,因此输入是列向量而不是矩阵,那么x应该是小写。如果您有多个响应变量并且输出是矩阵,则应Y为大写。

最后,使用比X和更具描述性的名称y总是一个好主意。然后,遵循 PEP 8 约定 uf 使用 Snake_case 作为变量名称 - 或者您遵循的风格指南建议的任何内容 - 是可行的方法。