Machine learning 机器学习的测试数据需要有列名吗?

Machine learning 机器学习的测试数据需要有列名吗?,machine-learning,scikit-learn,training-data,test-data,Machine Learning,Scikit Learn,Training Data,Test Data,假设我有一个如下的训练数据: Age:12 Height:150 Weight:100 Gender:M Age:15 Height:145 Weight:80 Gender:F Age:17 Height:147 Weight:110 Gender:F Age:11 Height:144 Weight:130 Gender:M 在我训练数据并获得模型后,如果我需要通过一次测试观察以进行预测,我是否需要发送列名称如下的数据 Ag

假设我有一个如下的训练数据:

Age:12   Height:150   Weight:100     Gender:M
Age:15   Height:145   Weight:80      Gender:F
Age:17   Height:147   Weight:110     Gender:F
Age:11   Height:144   Weight:130     Gender:M
在我训练数据并获得模型后,如果我需要通过一次测试观察以进行预测,我是否需要发送列名称如下的数据

Age: 13   Height:142  Weight :90  
在某些情况下,我看到有人在没有列名的数组中发送测试数据。我不确定算法是如何工作的


注意:我使用的是python scikit learn,我的培训数据是一个数据帧。所以我不确定我的测试数据是否也应该是数据帧格式的

你在预测性别吗

如果是,那么是的。您的输入是以下列的记录:
年龄
身高
体重

否则,您将在缺少
Gender
值的记录上进行预测。如果您的模型不允许缺少字段/列,您可能会得到一个
KeyError

我不确定我的测试数据是否也应该是数据帧格式

简言之:是的

通常您会这样做:

# X is your input data, the format depends on how your model (pre)process the data.
# It could be a numeric matrix, a list of dict's, a list of strings, etc.
X_train, X_test, y_train, y_test = train_test_split(X, y)
# Fit and validate.
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)

因此,您的训练和测试数据采用相同的格式,或者至少采用兼容的格式(即:熊猫数据帧与
目录的
列表兼容)。

您是否预测性别

如果是,那么是的。您的输入是以下列的记录:
年龄
身高
体重

否则,您将在缺少
Gender
值的记录上进行预测。如果您的模型不允许缺少字段/列,您可能会得到一个
KeyError

我不确定我的测试数据是否也应该是数据帧格式

简言之:是的

通常您会这样做:

# X is your input data, the format depends on how your model (pre)process the data.
# It could be a numeric matrix, a list of dict's, a list of strings, etc.
X_train, X_test, y_train, y_test = train_test_split(X, y)
# Fit and validate.
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)

因此,您的列车和测试数据采用相同的格式,或者至少采用兼容的格式(即:熊猫数据帧与dict的
列表兼容)。

谢谢罗兰多。。考虑到我已经训练了足够多的数据,使用TraceTestTythS分裂或K-折叠CV,并完成了评估。现在,我只需要发送一个测试观察值进行预测(假设我正在从前端工具传递数据),我需要找到一种方法,将来自用户的输入数据作为数据帧放入相应的列名中,并将其传递给预测函数,对吗?@GopalK没有看到您的代码,很难判断您是否严格需要传递数据帧。但是是的,
predict
的输入是一个观察数组,其格式与您传递给
fit
的格式相同。谢谢罗兰多。。考虑到我已经训练了足够多的数据,使用TraceTestTythS分裂或K-折叠CV,并完成了评估。现在,我只需要发送一个测试观察值进行预测(假设我正在从前端工具传递数据),我需要找到一种方法,将来自用户的输入数据作为数据帧放入相应的列名中,并将其传递给预测函数,对吗?@GopalK没有看到您的代码,很难判断您是否严格需要传递数据帧。但是是的,
predict
的输入是一个观察值数组,其格式与传递给
fit
的格式相同。