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

时间:2018-09-08 16:47:42

标签: python machine-learning

X_train, X_test, y_train, y_test = \
    train_test_split(X, y, test_size=0.30, random_state=1)

在此示例中,(X_train, X_test) X被大写提及,其中 (y_train, y_test)这里y用小写字母表示。

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

1 个答案:

答案 0 :(得分:1)

这来自您具有多个功能(输入)和一个响应变量(输出)的情况​​。然后,输入DF <- data.frame(id = 1:5, min_age = c(60, 55, 72, 67, 58), max_age = c(65, 57, 72, 69, 61)) library(data.table) setDT(DF)[, .(age = seq(min_age, max_age)), by = id] # id age # 1: 1 60 # 2: 1 61 # 3: 1 62 # 4: 1 63 # 5: 1 64 # 6: 1 65 # 7: 2 55 # 8: 2 56 # 9: 2 57 #10: 3 72 #11: 4 67 #12: 4 68 #13: 4 69 #14: 5 58 #15: 5 59 #16: 5 60 #17: 5 61 是具有X列和number_of_features行的矩阵,而输出number_of_samples是具有y元素的列向量。遵循在数学和/或相关领域中广泛使用的用大写字母命名矩阵和使用小写字母向量命名的惯例,number_of_samples必须为大写字母,X必须为小写字母

如果只有一个功能,那么输入是列向量而不是矩阵,则y应该是小写。而且,如果您有多个响应变量并且输出是矩阵,则x应该是大写。

最后,使用比YX更多的描述性名称总是一个好主意。然后,遵循PEP 8惯例uf,使用snake_case作为变量名-或遵循以下建议的样式指南-就是要走的路。

相关问题