You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LazyPredict检测到0特征致分类器失效的问题求助

解决lazypredict检测到0特征的问题

问题出在目标变量y的类型上:你传入的y是二维DataFrame,而LazyClassifier要求目标变量必须是一维的Series(或一维数组)。这种二维结构会导致内部处理逻辑出错,误判特征数为0,只有DummyClassifier能正常运行。

修改方案

把y从DataFrame转为一维Series,有两种方式:

  • 创建时直接生成Series:
    y = pd.Series(np.random.choice([True, False], size=(10,)), name='F')
    
  • 从已有的DataFrame中提取:
    y = y.iloc[:, 0]
    

修改后的完整代码

import numpy as np
import pandas as pd
from lazypredict.Supervised import LazyClassifier
from sklearn.model_selection import train_test_split

X = pd.DataFrame(np.random.choice([True, False], size=(10, 3)), columns=list('ABC'))
y = pd.Series(np.random.choice([True, False], size=(10,)), name='F')

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.5, random_state=123)
clf = LazyClassifier(verbose=0, ignore_warnings=False, custom_metric=None)
models, predictions = clf.fit(X_train, X_test, y_train, y_test)
print(models)

补充说明

官方示例中的目标变量都是一维结构(比如直接从DataFrame中提取单列得到的Series),所以能正常运行。处理自有数据时,同样要确保y是一维的,就能解决特征数为0的问题。

内容的提问来源于stack exchange,提问作者Enrico R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:46:06