加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-2.7 – ValueError:类的数量必须大于一(python)

发布时间:2020-12-20 12:11:36 所属栏目:Python 来源:网络整理
导读:当传递x,y in fit时,我收到以下错误: Traceback(最近一次调用最后一次): File “C:/Classify/classifier.py”,line 95,in train_avg,test_avg,cms = train_model(X,y,“ceps”,plot=True) File “C:/Classify/classifier.py”,line 47,in train_model clf.
当传递x,y in fit时,我收到以下错误:

Traceback(最近一次调用最后一次):

File “C:/Classify/classifier.py”,line 95,in

train_avg,test_avg,cms = train_model(X,y,“ceps”,plot=True)
File “C:/Classify/classifier.py”,line 47,in train_model

clf.fit(X_train,y_train) File “C:Python27libsite-packagessklearnsvmbase.py”,line 676,in fit
raise ValueError(“The number of classes has to be greater than” ValueError: The number of classes has to be greater than one.

以下是我的代码:

def train_model(X,Y,name,plot=False):
"""
    train_model(vector,vector,name[,plot=False])

    Trains and saves model to disk.
"""
labels = np.unique(Y)

cv = ShuffleSplit(n=len(X),n_iter=1,test_size=0.3,indices=True,random_state=0)

train_errors = []
test_errors = []

scores = []
pr_scores = defaultdict(list)
precisions,recalls,thresholds = defaultdict(list),defaultdict(list),defaultdict(list)

roc_scores = defaultdict(list)
tprs = defaultdict(list)
fprs = defaultdict(list)

clfs = []  # for the median

cms = []

for train,test in cv:
    X_train,y_train = X[train],Y[train]
    X_test,y_test = X[test],Y[test]

    clf = LogisticRegression()
    clf.fit(X_train,y_train)
    clfs.append(clf)

解决方法

您可能在训练集中只有一个唯一的类标签.如上所述,您需要在数据集中至少有两个唯一的类.例如,您可以运行np.unique(y)来查看数据集中的唯一类标签.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读