【问题标题】:ValueError: Unknown label type: 'unknown' - sklearnValueError:未知标签类型:“未知”-sklearn
【发布时间】:2021-05-11 14:02:48
【问题描述】:

这是我的数据框:

首先我尝试使用 MinMaxScaler 重新调整它:

array = df.values
X = array[:,1:5]
Y = array[:,5]

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range = (0, 1))
rescaledX = scaler.fit_transform(X)
print(rescaledX[0:5,:])

[[1.         1.         1.         1.        ]
 [0.62941362 0.69159574 0.72880726 0.65628435]
 [0.72207955 0.53431153 0.61756924 0.62263943]
 [0.61745053 0.48542381 0.49937301 0.52598285]
 [0.45269065 0.54966355 0.57468495 0.48724943]] 

然后我尝试使用 RFE 和 LogisticRegression:

from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
rfe = RFE(model, 2)
fit = rfe.fit(rescaledX, Y)
print("Number of attributes: %d" % fit.n_features_)
print(df.columns[0:5])
print("Attributes Selected: %s" % fit.support_)
print("Attribute Ranking: %s" % fit.ranking_)

但我得到的只是一条 ValueError 消息:

ValueError: Unknown label type: 'unknown'

有人可以帮我找出我的错误吗?

【问题讨论】:

  • 这里的 Y 是什么?
  • 我的错。我编辑了代码以阐明 X 和 Y 实际上是什么。
  • @JosédeCastro 您能否提供所有错误输出详细信息并指出它开始崩溃的代码部分?

标签: python scikit-learn sklearn-pandas


【解决方案1】:

LogisticRegression 不是用于回归,而是用于分类问题。

如果要使用LogisticRegression,则y变量必须是分类类(例如:0、1、2、3),而不是像你这样的连续变量。

你应该使用LinearRegression算法,例如,处理连续输出。

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 2018-01-01
    • 2018-01-02
    • 2020-05-11
    • 2018-07-22
    • 2017-09-21
    • 2018-12-16
    • 2021-08-17
    • 2018-03-16
    相关资源
    最近更新 更多