Sklearn无法在随机林ClassFi中使用编码数据

2024-04-18 13:30:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我是scikit新手。我正在尝试使用预处理。一个热编码器编码我的训练和测试数据。编码之后,我尝试使用这些数据训练随机森林分类器。但是当我在拟合的时候会出现错误。 (这里是错误跟踪)

    99         model.fit(X_train, y_train)
    100         preds = model.predict_proba(X_cv)[:, 1]
    101 

C:\Python27\lib\site-packages\sklearn\ensemble\forest.pyc in fit(self, X, y, sample_weight)
    288 
    289         # Precompute some data
--> 290         X, y = check_arrays(X, y, sparse_format="dense")
    291         if (getattr(X, "dtype", None) != DTYPE or
    292                 X.ndim != 2 or

C:\Python27\lib\site-packages\sklearn\utils\validation.pyc in check_arrays(*arrays, **options)
    200                     array = array.tocsc()
    201                 elif sparse_format == 'dense':
--> 202                     raise TypeError('A sparse matrix was passed, but dense '
    203                                     'data is required. Use X.toarray() to '
    204                                     'convert to a dense numpy array.')

TypeError: A sparse matrix was passed, but dense data is required. Use X.toarray() to convert to a dense numpy array.

我尝试使用X.toarray()和X.todense()将稀疏矩阵转换为密集矩阵 但是当我这样做的时候,我得到了下面的错误跟踪。在

^{pr2}$

谁能帮我修好这个吗。在

谢谢你


Tags: to编码datamodellib错误sitetrain
1条回答
网友
1楼 · 发布于 2024-04-18 13:30:41

sklearn random forests不适用于稀疏输入,并且数据集形状太大且太稀疏,无法容纳密集版本的内存。在

您可能有一些具有大到多基数的分类特性(例如自由文本字段或唯一的条目id)。试着放弃那些功能,重新开始。在

相关问题 更多 >