jmschrei / apricot

apricot implements submodular optimization for the purpose of selecting subsets of massive data sets to train machine learning models quickly. See the documentation page: https://apricot-select.readthedocs.io/en/latest/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nearest neighbors doesn't work

devinity1337 opened this issue · comments

from apricot import FacilityLocationSelection
import numpy

X = numpy.random.uniform(0, 1, size=(500, 500))


FacilityLocationSelection(100,n_neighbors=10, verbose=True).fit(X)

n_neighbors parameter gives an error, when I remove it it works fine.

Can you include the exact error you received? Thanks.

I have a similar error when I import apricot.

Traceback (most recent call last):
File "", line 1, in
File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/init.py", line 4, in
from .functions import FeatureBasedSelection
File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/functions/init.py", line 4, in
from .featureBased import FeatureBasedSelection
File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/functions/featureBased.py", line 7, in
from .base import BaseSelection
File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/functions/base.py", line 12, in
from ..optimizers import BaseOptimizer
File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/optimizers.py", line 11, in
from .utils import PriorityQueue
File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/utils.py", line 20, in
from sklearn.neighbors import KNeighborsTransformer
ImportError: cannot import name 'KNeighborsTransformer' from 'sklearn.neighbors' (/Users/mac/opt/anaconda3/lib/python3.7/site-packages/sklearn/neighbors/init.py)

What version of apricot and sklearn are you using?

I have a similar error when I import apricot.

Traceback (most recent call last): File "", line 1, in File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/init.py", line 4, in from .functions import FeatureBasedSelection File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/functions/init.py", line 4, in from .featureBased import FeatureBasedSelection File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/functions/featureBased.py", line 7, in from .base import BaseSelection File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/functions/base.py", line 12, in from ..optimizers import BaseOptimizer File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/optimizers.py", line 11, in from .utils import PriorityQueue File "/Users/mac/opt/anaconda3/lib/python3.7/site-packages/apricot/utils.py", line 20, in from sklearn.neighbors import KNeighborsTransformer ImportError: cannot import name 'KNeighborsTransformer' from 'sklearn.neighbors' (/Users/mac/opt/anaconda3/lib/python3.7/site-packages/sklearn/neighbors/init.py)

This error can be fixed by replacing the following line in "utils.py"
"# from sklearn.neighbors import KNeighborsTransformer"
by
"from sklearn.neighbors import KNeighborsClassifier as KNeighborsTransformer"