Machine learning KNN分类器即使在gpu上也占用太多时间
我正在使用kaggle上的KNN对MNSIT数字进行分类,但在最后一步,它需要花费大量时间来执行,而且MNSIT数据突出了15 mb,我仍在等待。您能指出我代码中的任何问题吗?谢谢Machine learning KNN分类器即使在gpu上也占用太多时间,machine-learning,knn,Machine Learning,Knn,我正在使用kaggle上的KNN对MNSIT数字进行分类,但在最后一步,它需要花费大量时间来执行,而且MNSIT数据突出了15 mb,我仍在等待。您能指出我代码中的任何问题吗?谢谢 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 da
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
您的代码本身没有任何问题。KNN只是一个缓慢的算法,它对你来说较慢,因为计算图像之间的距离很难按比例计算,对你来说较慢,因为问题太大了,你的缓存不能真正有效地使用 无需使用不同的库或编写自己的GPU内核,通过替换
clf=KNeighborsClassifier(n_neighbors=3)
与
至少要使用所有核心。代码本身没有任何问题。KNN只是一个缓慢的算法,它对你来说较慢,因为计算图像之间的距离很难按比例计算,对你来说较慢,因为问题太大了,你的缓存不能真正有效地使用 无需使用不同的库或编写自己的GPU内核,通过替换
clf=KNeighborsClassifier(n_neighbors=3)
与
至少要使用所有内核。因为您实际上没有在kaggle上使用gpu。KNeighborsClassifier不支持gpu,因为您实际上没有在kaggle上使用gpu。KNeighborsClassifier不支持gpusklearn不使用gpu,这种方法通常非常慢,从tensorflow可以导入knn。tensorflow使用gpu,这可能会解决您的问题Sklearn不使用gpu,这是正常的,这种方法是超级慢的tensorflow您可以导入knn。tensorflow使用gpu,这可能会解决您的问题