Я специально получаю эту ошибку:
---------------------------------------------------------------------------
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) - но я могу пропуститьчто-то.
Как мне заставить код работать правильно?