1

I'm using the hyperopt package (version 0.1.2) and I figure out the following error:

Traceback (most recent call last):
  File "C:Users\PycharmProjects\script\my_script.py", line 34, in <module>
    estim.fit(xTrain, yTrain)
  File "C:\Users\PycharmProjects\venv\lib\site- 
packages\hpsklearn\estimator.py", line 746, in fit
    fit_iter.send(increment)
  File "C:Users\PycharmProjects\script\my_script\venv\lib\site- 
   packages\hpsklearn\estimator.py", line 657, in fit_iter
    return_argmin=False, # -- in case no success so far
  File "C:Users\PycharmProjects\script\my_script\venv\lib\site- 
   packages\hyperopt\fmin.py", line 388, in fmin
    show_progressbar=show_progressbar,
  File "C:Users\PycharmProjects\script\my_script\venv\lib\site- 
packages\hyperopt\base.py", line 639, in fmin
     show_progressbar=show_progressbar)
   File "C:Users\PycharmProjects\script\my_script\venv\lib\site- 
packages\hyperopt\fmin.py", line 407, in fmin
    rval.exhaust()
  File "C:Users\PycharmProjects\script\my_script\venv\lib\site-packages\hyperopt\fmin.py", line 262, in exhaust
    self.run(self.max_evals - n_done, block_until_done=self.asynchronous)
  File "C:Users\PycharmProjects\script\my_script\venv\lib\site-packages\hyperopt\fmin.py", line 227, in run

self.serial_evaluate()
   File "C:Users\PycharmProjects\script\my_script\venv\lib\site-packages\hyperopt\fmin.py", line 141, in serial_evaluate
     result = self.domain.evaluate(spec, ctrl)
   File "C:Users\PycharmProjects\script\my_script\venv\lib\site-packages\hyperopt\base.py", line 844, in evaluate
     rval = self.fn(pyll_rval)
   File "C:Users\PycharmProjects\script\my_script\venv\lib\site-packages\hpsklearn\estimator.py", line 620, in fn_with_timeout
raise fn_rval[1]
 ValueError: zero-dimensional arrays cannot be concatenated

The original X and y data as a list, and here the following code:

from sklearn.model_selection import train_test_split
from hpsklearn import HyperoptEstimator, tfidf, svc_poly
from hyperopt import tpe


if __name__ == '__main__':

    X_data = ['this is an example text 1', 'this is an example text 2', 'this is an example text 3', 'this is an example text 4'] * 25
    y_data = ['this is just and example label 1', 'this is just and example label 2'] * 50
    print(len(X_data), len(y_data))


    print(len(X_data), len(y_data))
    xTrain, xTest, yTrain, yTest = train_test_split(
        X_data, y_data,
        test_size=0.22,
        random_state=33)

    estim = HyperoptEstimator(
        classifier=[svc_poly('my_poly', degree=3)],
        preprocessing=[tfidf('tfidf')],
        algo=tpe.suggest,
        trial_timeout=180
    )

    estim.fit(xTrain, yTrain) # error pops up here

I already tried to create a numpy arrays instead list, but the result is always this error.

La_haine
  • 339
  • 1
  • 6
  • 18

0 Answers0