Am在目标变量为multiclass
的数据上使用基本LogisticRegression
。
当调用fit()
时,我希望LogisticRegression
会给出一些错误。但事实并非如此。
LogisticRegression
默认处理这种情况吗?如果是,将对目标变量应用哪些转换?
ddf = pd.DataFrame(
[[1,2,3,4, "Blue"],
[4,2,3,4, "Red"],
[5,2,8,4, "Red"],
[2,7,3,9, "Green"],
[7,6,7,4, "Blue"]], columns=['A','B','C','D','E']
)
ddf
X = ddf[['A', 'B', 'C', 'D']]
y = ddf['E']
lr = LogisticRegression()
lr.fit(X, y)
preds = lr.predict(X)
print(preds)
给出输出:['Blue' 'Red' 'Red' 'Green' 'Blue']
Scikit learn默认情况下能够处理所有分类器的字符串标签,它在内部创建了一个LabelEncoder对象,请查看此处的代码。字符串类标签被编码为整数值。