当前位置: 首页 > 知识库问答 >
问题:

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

闻华容
2023-03-14

fit中传递x,y时,我得到以下错误:

回溯(最近一次呼叫最后一次):

文件“C:/Classify/classifier.py”,第95行,在

列车平均值,测试平均值,cms=列车模型(X,y,“ceps”,plot=True)
列车模型中第47行的文件“C:/Classify/classifier.py”

clf.fit(X_train,y_train)文件“C:\Python27\lib\site packages\sklearn\svm\base.py”,第676行,在fit raise ValueError(“类数必须大于”ValueError:类数必须大于一。

下面是我的代码:

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)

共有2个答案

龙浩博
2023-03-14

确切地最后一列(标签)只有一种类型(分类)。你至少应该有两个。例如如果标签决定是否必须卸载,则标签列应具有卸载和不卸载或(0或1)。

柴博
2023-03-14

在当前的培训集中,您可能只有一个唯一的类标签。正如错误消息所指出的,数据集中至少需要有两个唯一的类。例如,您可以运行np.unique(y)查看数据集中的唯一类标签是什么。

 类似资料:
  • 嗨,我正在创建一个简单的注册表单与django框架和mongodb。以下是我的观点: 以下是我的模型: 下面是我的<code>表单。py</code> 以下是加载 SignUpview 回溯时收到的回溯值错误: 内部 39 中的文件“C:\程序文件\Python35\lib\site-packages\django\core\处理程序\exception.py”。响应 = get_response

  • 我写了这段代码。我的输入形状是(100 x100 X3)。我是深度学习的新手。我花了这么多时间在这个问题上,但无法解决这个问题。任何帮助都非常感谢。 错误:在[15]:运行文件('/user/Project/SM/src/ann\u algo\u keras.py',wdir='/user/Project/SM/src')中随机启动突触权重:模型:“sequential\u 3” conv2d_1

  • 问题内容: 我有一个问题。 我正在尝试通过使用以下代码来复制20x361矩阵的最后一列: 但是我得到了错误: ValueError:所有输入数组的维数必须相同 但是,我已经通过检查矩阵尺寸 我得到 (20公升)(20公升,361公升) 所以尺寸匹配?错误在哪里? 问题答案: 如果我从3x4数组开始,然后将3x1数组与轴1连接起来,则会得到3x5数组: 请注意,两个要连接的输入都具有2维。 省略形状

  • 问题内容: 我在Keras的最后一层中使用一些tensorflow函数(reduce_sum和l2_normalize)构建模型,而遇到此问题。我一直在寻找解决方案,但所有解决方案都与“ Keras张量”有关。 这是我的代码: 然后是错误: ValueError:模型的输出张量必须是TensorFlow的输出(因此保留过去的层元数据)。找到:Tensor(“ l2_normalize_3:0”,s

  • 我有一个用电子和节点js编写的应用程序,我正在尝试运行。它使用模块端口扫描器来检查特定范围内的打开端口: 但是,我收到了这个错误: 即使我的范围显然小于65536,大于0。 在线查看,它似乎是节点v6中的错误(我有v6.5.0)。我是nodejs的新手,非常感谢有关如何解决此问题的任何帮助。谢谢。

  • 我正在尝试实现遗传算法,程序在第一代后终止。。不知道为什么。。代码如下。。提出的异常是。。 文件"C:\用户\伊山\AppData\本地\程序\Python\Python36\lib\random.py",第255行,选择i=自己。_randbelow(len(seq))文件"C:\用户\伊山\AppData\本地\程序\Python\Python36\lib\random.py",第232行,_