将稀疏矩阵拟合到kNN模型时出现MemoryError

时间:2019-08-04 05:11:38

标签: python scikit-learn sparse-matrix knn

在运行以下代码时,我从最后一行得到了MemoryError:

from sklearn.neighbors import KNeighborsClassifier
clf = KNeighborsClassifier(n_neighbors=7)
clf.fit(train_X, y_train)
y_pred_clf = clf.predict(test_X)

test_X<10852x112 sparse matrix of type '<class 'numpy.float64'>' with 97668 stored elements in Compressed Sparse Row format>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

一种方法是使用批量数据,而第二种方法是对KNN模型使用不同的算法:

clf = KNeighborsClassifier(n_neighbors=5,algorithm='kd_tree').fit(X_train, Y_train)
y_pred_clf = clf.predict(test_X)

默认情况下,该模型为algorithm ='brute',而蛮横的false占用过多内存。