我已经使用sklearn工具已有一段时间了,但是现在有这个奇怪的问题。我只是试图用sklearn构建KNN回归器,但是执行需要花费很多时间,而在调试时,fit函数的执行似乎需要花费很多时间。 我应该提到的是,数据集很大(约25,000条记录,具有10个功能),但仍然-我现在等待一个小时,没有任何结果。
是什么原因造成的?
相关代码段:
div
答案 0 :(得分:0)
这就是KNN的本质。算法时间复杂度为KNN为O(nd)
,其中n为数据点数,d为维度(在您的情况下为n = 25k, d = 10
)
KNN将考虑所有数据点并选择最靠近的K
个邻居。因此,如果您的数据很大,则会花费更多时间。 K
是超级参数,您可以使用GridSearchCV或RandomizedSearchCV
您拥有的选项:
您也可以在RBF内核上尝试SVM,因为它是KNN的近似值,而且所需时间更少