【发布时间】:2017-09-23 04:21:24
【问题描述】:
我正在使用 scikit learn 的逻辑回归来解决多类问题。
logit = LogisticRegression(penalty='l1')
logit = logit.fit(X, y)
我对推动这一决定的功能感兴趣。
logit.coef_
上面给了我一个漂亮的(n_classes, n_features) 格式的数据框,但是所有的类和特性名称都不见了。有了特征,这没关系,因为假设它们的索引方式与我传递它们的方式相同似乎是安全的......
但是对于类,这是一个问题,因为我从来没有以任何顺序明确地传递类。那么系数集(数据框中的行)0、1、2 和 3 属于哪个类?
【问题讨论】:
-
它将简单地从索引 0 到
n_classses-1排序。您是否在y中传递了数字或字符串?如果是字符串,那么将使用 LabelEncoder 将其转换为数字形式。你能在这里显示你的y吗? -
字符串。标签是:
array(['GR3', 'GR4', 'SHH', 'GR3', 'GR4', 'SHH', 'GR4', 'SHH', 'GR4', 'WNT', 'GR3', 'GR4', 'GR3', 'SHH', 'SHH', 'GR3', 'GR4', 'SHH', 'GR4', 'GR3', 'SHH', 'GR3', 'SHH', 'GR4', 'SHH', 'GR3', 'GR4', 'GR4', 'SHH', 'GR4', 'SHH', 'GR4', 'GR3', 'GR3', 'WNT', 'SHH', 'GR4', 'SHH', 'SHH', 'GR3', 'WNT', 'GR3', 'GR4', 'GR3', 'SHH'], dtype=object),我得到课程0, 1, 2, 3。哪个对应哪个? -
有什么方法可以访问 LogisticRegression 对象中的 LabelEncoder 对象吗?
标签: python scikit-learn logistic-regression