【问题标题】:Sklearn classifiers Lasso and Elastic net with mix of binary and continuous targets?Sklearn 分类器 Lasso 和 Elastic net 混合了二进制和连续目标?
【发布时间】:2023-01-13 01:37:44
【问题描述】:
我究竟做错了什么。
我的 X 是连续的、对数缩放的浮点数,我的 y(目标)是一个包含数字布尔二进制值(0 和 1)的数组。当我运行 sklearn Lasso 和 Elastic net 时,它向我抛出:“ValueError:分类指标无法处理二进制和连续目标的混合”
但本质上,这应该有效吗?
我运行了一堆没有这个问题的其他分类器,包括逻辑回归
【问题讨论】:
标签:
python
machine-learning
scikit-learn
classification
ml
【解决方案1】:
错误中的关键点是 Classification metrics 例如准确性分数。
如果您使用逻辑回归,输出将是连续的,您首先需要将其转换为 0..1 比例。
out = model.predict(X)
out_binary = out > 0.5 # Assuming this is a numpy array
#if it is not numpy:
#out_binary = [1 if res > 0.5 else 0 for res in out]
accuracy = accuracy_score(Y, out_binary)