机器学习问题,只有原始数据,没有测试和验证数据

数据挖掘 机器学习 Python 分类 训练
2022-03-01 12:32:35

我是机器学习的新手,我正在尝试解决一个问题,我必须预测客户是否会购买家庭保险产品。

  1. 我有一个数据集,它告诉我银行的哪个客户从银行购买了抵押贷款。
  2. 我得到了先购买抵押贷款的客户的另一个数据,然后银行开展了一项活动,为他们随机提供房屋保险,这个数据集告诉我哪些抵押贷款客户实际上从银行购买了房屋保险。

现在我的工作是预测我应该为哪家银行挑选最有可能订阅家庭保险产品的客户。

我没有单独的训练/测试/验证数据集,只有一个数据集。我该如何解决这个问题?我应该从给定的原始数据集中创建验证和测试数据吗?我应该如何处理这个问题才能正确预测?

1个回答

通常,使用预测模型,您可以从原始数据集生成训练和测试样本,例如使用 sklearn。

import numpy as np
from sklearn.model_selection import train_test_split
X, y = np.arange(10).reshape((5, 2)), range(5)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html

通过将预测与实际(真实)结果进行比较,在一组上训练一些模型并在另一组上进行测试。

您还可以使用交叉验证,在这种情况下,模型在数据的一部分上进行训练(例如,4/5 的数据具有 5 倍 cv)并在剩余的 1/5 数据上进行测试。这是为所有“折叠”完成的。见章。5.1。有关详细信息,请参阅“统计学习简介”。https://www.statlearning.com/

只需确保您根据未用于训练的数据获得测试分数。