Refefer / fastxml

FastXML / PFastXML / PFastreXML - Implementation of Extreme Multi-label Classification
Other
148 stars 47 forks source link

__init__() got an unexpected keyword argument 'n_iter' #24

Open 731935354 opened 5 years ago

731935354 commented 5 years ago

Today when I tried to train a model based on a standard dataset(Wiki10-31k) downloaded from this website, I run the command fxml.py wiki.model wiki10_train.txt --standard-dataset --verbose train --iters 5 --trees 20 --label-weight propensity --alpha 1e-4 --leaf-classifiers --no-remap-labels and got error of
__init__() got an unexpected keyword argument 'n_iter' for many times. I also tried to install fastxml using pip install git+https://github.com/Refefer/fastxml.git and run through python wrapper. However I got the same error. I will really appreciate it if you can give me some advice on it.

Below are the top lines of standard outputs: 10000 docs encoded Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Splitting 14145 Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Training classifier Splitting 5092 Splitting 6967 Training classifier Training classifier Splitting 7085 Splitting 7014 Splitting 5058 Training classifier Splitting 7530 Splitting 9054 Splitting 8987 Splitting 5214 Splitting 7108 Training classifier Splitting 7875 Training classifier Splitting 8995 Training classifier Splitting 2643 Training classifier Splitting 7119 Training classifier Training classifier Training classifier Splitting 6980 Training classifier Training classifier Splitting 5108 Splitting 6604 Training classifier Splitting 7168 Training classifier Splitting 6247 Training classifier Training classifier Training classifier Training classifier Splitting 2688 Training classifier Splitting 2454 Process Process-6: Splitting 9080 Traceback (most recent call last): File "/opt/conda/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap self.run() File "/opt/conda/lib/python3.7/multiprocessing/process.py", line 99, in run self._target(*self._args, *self._kwargs) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/proc.py", line 37, in _remote_call results = f(args) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 322, in grow_root node = self.grow_tree(X, y, idxs, rs, splitter) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 358, in grow_tree lNode = self.grow_tree(X, y, l_idx, rs, splitter) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 358, in grow_tree lNode = self.grow_tree(X, y, l_idx, rs, splitter) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 358, in grow_tree lNode = self.grow_tree(X, y, l_idx, rs, splitter) [Previous line repeated 2 more times] File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 336, in grow_tree l_idx, r_idx, (clf, clff) = self.split_train(X, idxs, splitter, rs) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 317, in split_train clf, clf_fast = self.train_clf(X, [l_idx, r_idx], rs) File "/opt/conda/lib/python3.7/site-packages/fastxml-2.0.0-py3.7-linux-x86_64.egg/fastxml/trainer.py", line 222, in train_clf random_state=rs) TypeError: init() got an unexpected keyword argument 'n_iter'

Refefer commented 5 years ago

Interesting. This might be due to us using an older version of scikit-learn.

Can you run pip freeze and say which version you're using?

siddu9501 commented 5 years ago

Same error here too. Probably due to a newer version of sklearn. python 3.6.8 pip freeze as below.

Cython==0.29.13 fastxml==2.0.0 future==0.17.1 joblib==0.13.2 numpy==1.17.2 scikit-learn==0.21.3 scipy==1.3.1

Refefer commented 5 years ago

OK. I'll see if I can put out a patch tonight; stay tuned.