Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用数据集的一部分来训练我的模型有意义吗?_Python_Machine Learning_Xgbclassifier - Fatal编程技术网

Python 使用数据集的一部分来训练我的模型有意义吗?

Python 使用数据集的一部分来训练我的模型有意义吗?,python,machine-learning,xgbclassifier,Python,Machine Learning,Xgbclassifier,我拥有的数据集是一组报价单,这些报价单是为了销售商品而提供给不同的客户的。大宗商品价格每天都是敏感和标准化的,因此围绕其价格的谈判相当棘手。我试图建立一个分类模型,该模型必须理解给定的报价是被客户接受还是被客户拒绝 我使用了我所知道的大多数分类器,XGBClassifier以95%的准确率表现得最好。基本上,当我输入一个看不见的数据集时,它能够表现得很好。我想测试模型对价格变化的敏感程度,为了做到这一点,我用不同的价格综合重新创建了报价,例如,如果一个报价是30美元,我以5美元、10美元、15美

我拥有的数据集是一组报价单,这些报价单是为了销售商品而提供给不同的客户的。大宗商品价格每天都是敏感和标准化的,因此围绕其价格的谈判相当棘手。我试图建立一个分类模型,该模型必须理解给定的报价是被客户接受还是被客户拒绝

我使用了我所知道的大多数分类器,XGBClassifier以95%的准确率表现得最好。基本上,当我输入一个看不见的数据集时,它能够表现得很好。我想测试模型对价格变化的敏感程度,为了做到这一点,我用不同的价格综合重新创建了报价,例如,如果一个报价是30美元,我以5美元、10美元、15美元、20美元、25美元、35美元、40美元、45美元的价格给出了相同的报价

我期望分类器在价格较低时给出较高的成功概率,在价格较高时给出较低的成功概率,但这并没有发生。在进一步调查后,我发现一些特性掩盖了模型中价格的重要性,因此必须加以处理。尽管我通过删除或设计功能来处理大多数功能,以更好地表示它们,但仍有一些功能无法删除(客户端需求)

当我检查结果时,结果表明该模型对30%的测试数据敏感,并且显示了有希望的结果,但对于其余70%的测试数据,它一点也不敏感

此时,我想到的想法是,只提供能够清晰捕捉价格敏感性或报价成功与报价成反比的部分培训数据。这造成了大约85%的数据丢失,但是我希望模型学习的关系被完美地捕捉到

这将是模型的一个增量学习过程,因此每次新数据集出现时,我都会考虑首先评估它的价格敏感性,然后只输入对价格敏感的训练数据段

在给出了问题的一些背景之后,我提出的一些问题是:

  • 从数据集中筛选出我正在寻找的关系类型正在展示的数据段有意义吗

  • 在较小的数据段上对模型进行训练并将特征数从21个减少到8个后,模型精度下降到约87%,但它似乎完美地捕捉到了价格敏感性。我评估价格敏感度的方法是,获取测试数据集,人为地为每个报价添加10行,以查看模型中的成功概率如何变化。这是解决这一问题的可行办法吗


要回答第一个问题,删除数据集中不起作用的部分不是一个好主意,因为这样,您的模型将过度拟合提供更好数字的数据。这意味着准确度将更高,但当呈现与数据集略有不同的内容时,网络适应的概率更低

为了回答第二个问题,这似乎是一个很好的方法,但我还是建议保留完整的数据集