首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KNN分类器即使在gpu上也要花费太多时间

KNN分类器即使在gpu上也要花费太多时间
EN

Stack Overflow用户
提问于 2018-08-05 18:32:21
回答 2查看 5.8K关注 0票数 0

我在kaggle上使用KNN对MNSIT数字进行分类,但在最后一步,它需要很多时间来执行,mnsit数据是15MB,就像我仍然在等待一样,你能指出我代码中的任何问题吗,谢谢。

代码语言:javascript
复制
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)

import os
print(os.listdir("../input"))
#Loading datset

train=pd.read_csv('../input/mnist_test.csv')

test=pd.read_csv('../input/mnist_train.csv')

X_train=train.drop('label',axis=1)

y_train=train['label']

X_test=test.drop('label',axis=1)

y_test=test['label']

from sklearn.neighbors import KNeighborsClassifier

clf=KNeighborsClassifier(n_neighbors=3)

clf.fit(X_train,y_train)

accuracy=clf.score(X_test,y_test)

accuracy
EN

回答 2

Stack Overflow用户

发布于 2018-08-05 19:40:54

你的代码本身没有任何问题。KNN只是一个缓慢的算法,它对你来说很慢,因为计算图像之间的距离在规模上很难,对你来说也很慢,因为问题太大了,你的缓存不能真正有效地利用。

在不使用不同的库或编写自己的GPU内核的情况下,您可以通过替换

代码语言:javascript
复制
clf=KNeighborsClassifier(n_neighbors=3)

使用

代码语言:javascript
复制
clf=KNeighborsClassifier(n_neighbors=3, n_jobs=-1)

至少要用上你所有的内核。

票数 6
EN

Stack Overflow用户

发布于 2018-10-26 13:15:58

因为你实际上并没有在kaggle上使用gpu。KNeighborsClassifier不支持图形处理器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51693501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档