我正在使用Scikit-Learn 0.21.2测试多项逻辑回归。
我之所以这样问是因为related question似乎已经过时。
document指出,如果n_classes> 2,系数的估计值是形状(n_classes,n_features),如果n_classes = 2,则是(1,n_features)。
假设我有M个类别和L个特征。我随机生成特征(dataX),并从某些随机生成的系数向量生成类别结果(dataY)。由于我遵循Wikipedia上的设置,因此生成的系数向量的形状为(M-1,L + 1)。
如果M大于2,我得到估计的形状系数(M,L + 1)的向量。为了比较真实参数和估计参数,我从其他估计系数中减去了第M个向量,并丢弃了第M个向量。真实值与估计值匹配得很好。
if (interestId.highSchool && interestId.highSchool !="") {
var highschool = new RegExp('.*' + interestId.highSchool + '.*', "i");
query.and.push({
highSchool: { like: highschool }
})
}
问题是M = 2时的情况。由于Scikit-Learn返回的形状系数为(1,L + 1),因此我假设不需要像M> 2一样进行修改。但是,Bp和true参数根本不匹配。那么,LogisticRegression函数提供的输出系数是什么意思?