通过scikit-learn进行回归的半监督学习

时间:2016-10-19 10:28:20

标签: python machine-learning scikit-learn regression

标签传播可以用于scikit-learn中的半监督回归任务吗? 根据其API,答案是肯定的。 http://scikit-learn.org/stable/modules/label_propagation.html

但是,当我尝试运行以下代码时收到错误消息。

from sklearn import datasets
from sklearn.semi_supervised import label_propagation
import numpy as np
rng=np.random.RandomState(0)
boston = datasets.load_boston()
X=boston.data
y=boston.target
y_30=np.copy(y)
y_30[rng.rand(len(y))<0.3]=-999
label_propagation.LabelSpreading().fit(X,y_30)

它显示&#34; ValueError:未知标签类型:&#39;连续&#39;&#34;在label_propagation.LabelSpreading()。fit(X,y_30)行中。

我该如何解决这个问题?非常感谢。

1 个答案:

答案 0 :(得分:3)

看起来文档中的错误,代码本身显然只是分类(BasePropagation class// click-event function changeColor() { this.style.backgroundColor = 'yellow'; } // ... square.addEventListener('click', changeColor); 调用的开始):

.fit

理论上你可以删除&#34; check_classification_targets&#34;呼叫和使用&#34;回归就像方法&#34;,但它不会是真正的回归,因为你永远不会传播&#34;在训练集中没有遇到的任何值,您只需将回归值视为类标识符。你将无法使用价值&#34; -1&#34;因为它是&#34;未标记的&#34; ...

的代号