Разреженный массив и hstack - ValueError: установка элемента массива с последовательностью - PullRequest
0 голосов
/ 30 сентября 2019

Я специально получаю эту ошибку:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-23-08528eefe3af> in <module>
     89 
     90     # Train the classifier
---> 91     rf_classifier.fit(X_train, y_train)
     92 
     93     # Retrieve the classification predictions

.../anaconda/lib/python3.7/site-packages/sklearn/ensemble/forest.py in fit(self, X, y, sample_weight)
    247 
    248         # Validate or convert input data
--> 249         X = check_array(X, accept_sparse="csc", dtype=DTYPE)
    250         y = check_array(y, accept_sparse='csc', ensure_2d=False, dtype=None)
    251         if sample_weight is not None:

.../anaconda/lib/python3.7/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    494             try:
    495                 warnings.simplefilter('error', ComplexWarning)
--> 496                 array = np.asarray(array, dtype=dtype, order=order)
    497             except ComplexWarning:
    498                 raise ValueError("Complex data not supported\n"

.../anaconda/lib/python3.7/site-packages/numpy/core/numeric.py in asarray(a, dtype, order)
    536 
    537     """
--> 538     return array(a, dtype, copy=False, order=order)
    539 
    540 

ValueError: setting an array element with a sequence.

До достижения rf_classifier.fit(X_train, y_train) я делаю это:

X_train = np.array(X_train, dtype=float)
X_train = csr_matrix(X_train)

X_train = np.hstack((X_train, X_sparse))

где:

X_train.shape первоначальноравен (30301, 37)

X_sparse.shape равен (30301, 225025)

X_train.shape после hstack равен (2,)

X_sparse являетсяразреженная матрица (как следует из названия).

На мой взгляд (2,) кажется довольно странным для X_train после hstack - я ожидаю (30301, 225025 + 37) - но я могу пропуститьчто-то.

Как мне заставить код работать правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...