运行以下逻辑回归代码时:
from sklearn import datasets
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
rfe = RFE(logreg, step= 20)
rfe = rfe.fit(data_final[X], data_final[y])
print(rfe.support_)
print(rfe.ranking_)
错误显示如下::
值错误
5 logreg = LogisticRegression()
7 rfe = RFE(logreg, step= 20)
----> 8 rfe = rfe.fit(data_final[X], data_final[y])
9 print(rfe.support_)
10 print(rfe.ranking_)
好吧,您可能会因为输入数据的格式而面临此问题。您需要将“fit”中的功能作为单独的参数传递。这是解决问题的方法
from sklearn import datasets
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
# Assuming X and y are lists or arrays containing your feature names and target variable name
X = ['feature1', 'feature2', 'feature3'] # Replace with your actual feature names
y = 'target' # Replace with your actual target variable name
logreg = LogisticRegression()
rfe = RFE(logreg, step=20)
rfe = rfe.fit(data_final[X], data_final[y]) # Separate X and y here
print(rfe.support_)
print(rfe.ranking_)
将“feature1”、“feature2”、“feature3”和“target”替换为您的实际功能名称和目标变量名称。