Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Database 数据挖掘KNN分类器_Database_Algorithm_Data Mining_Knn - Fatal编程技术网

Database 数据挖掘KNN分类器

Database 数据挖掘KNN分类器,database,algorithm,data-mining,knn,Database,Algorithm,Data Mining,Knn,假设一位为保险公司工作的数据分析师被要求建立一个预测模型,用于预测客户是否会购买移动房屋保险单。他尝试使用不同邻域数k=1,2,3,4,5的kNN分类器。他/她在培训数据上获得了以下F分数:1.0;0.92; 0.90; 0.85; 0.82. 基于此,分析师决定部署k=1的kNN。这是个好选择吗?在这种情况下,您将如何选择最佳的邻域数?使用整个训练集选择预测算法的参数不是一个好主意,因为结果将偏向于此特定训练集,并且没有关于泛化性能的信息,即对未看到的情况的性能。您应该应用交叉验证技术,例如1

假设一位为保险公司工作的数据分析师被要求建立一个预测模型,用于预测客户是否会购买移动房屋保险单。他尝试使用不同邻域数k=1,2,3,4,5的kNN分类器。他/她在培训数据上获得了以下F分数:1.0;0.92; 0.90; 0.85; 0.82. 基于此,分析师决定部署k=1的kNN。这是个好选择吗?在这种情况下,您将如何选择最佳的邻域数?

使用整个训练集选择预测算法的参数不是一个好主意,因为结果将偏向于此特定训练集,并且没有关于泛化性能的信息,即对未看到的情况的性能。您应该应用交叉验证技术,例如10倍交叉验证,以选择在一定范围内具有最大F值的最佳K,即K。 这包括将培训数据分成10等份,保留9份用于培训,1份用于验证。进行迭代,使每个部分都被排除在验证之外。如果您进行足够的折叠,这将允许您获得F值的统计信息,然后您可以测试不同K值的这些值是否具有统计意义

例如,另见:

然而,这里的微妙之处在于,预测数据点的数量与K值之间可能存在依赖关系。因此,如果你应用交叉验证,你将使用9/10的训练集进行训练…不确定是否对此进行了任何研究,以及如何在最终训练集中纠正。无论如何,大多数软件包只使用上述技术,例如,请参见链接中的SPSS。
一种解决方案是使用漏掉一个交叉验证,每个数据样本漏掉一次进行测试,在这种情况下,您有N-1个训练样本原始训练集有N个。

就目前情况而言,这就像homework@user3195317这可能晚了一周,但也不是要求家庭作业的地方!请不要这样做!下次请阅读如何提问页面@如果您想根据指南改进您的问题,请使用3195317,我认为这应该得到一个答案。下次你问问题时,不要忽视规则。谢谢