【发布时间】:2019-11-03 18:48:44
【问题描述】:
我有一个这样开始的示例字典
{'first': {'second': [],
'third': 1.0,
'fourth': {'fifth': 'test', 'value': 2.0},
'sixth': {'seventh': 3.0,
'eight': 4.0,
我试过了
y_test = np.array([x['first']['sixth'] == 'seventh' for x in test_data])
什么时候
test = LogisticRegression(class_weight='balanced').fit(X_test, y_test)
但不断得到
ValueError:此求解器需要至少 2 个类的样本 数据,但数据只包含一个类:False
注意:来自notebook的单元格4和7
编辑:我把它改成了
y_test = np.array([x['first']['sixth'] == 'seventh' for x in test_data], dtype=float) 现在问题来了
ValueError: Unknown label type: 'continuous'
我使用了标签编码
import numpy as np
from sklearn import metrics, svm
from sklearn.linear_model import LogisticRegression
from sklearn import preprocessing
from sklearn import utils
lab_enc = preprocessing.LabelEncoder()
training_scores_encoded = lab_enc.fit_transform(y_test)
属于多类
或 svc 来保留浮动
from sklearn.svm import SVR
svr = SVR()
sld = svr.fit(x_test, y_test)
但这两个都需要很长时间
在 t4 gpu 上使用 dtype=int 需要 8 分钟 但结果有很多噪音和身份问题
【问题讨论】:
-
它准确地告诉您错误中的问题是什么,您需要至少 2 个类别的样本,这意味着 y_test 只有 1 个类别的标签。不知道为什么要重新分配 test 以及它与字典有什么关系,因为这里没有添加暗示它甚至是远程使用的代码。
-
你可以从这里看到单元格,4 和 7 github.com/Puzer/stylegan-encoder/blob/master/…
标签: python-3.x scikit-learn logistic-regression