from sklearn import datasets from sklearn.feature_selection import RFE from sklearn.linear_model import LogisticRegression logreg = LogisticRegression() rfe = RFE(logreg, 18) rfe = rfe.fit(data_final[X], data_final[y] ) print(rfe.support_) print(rfe.ranking_)#当结果是1表示该特征比较重要,被选出来,这段代码报错如下:__init__() takes 2 positional arguments but 3 were given,怎么解决
时间: 2024-03-25 18:40:09 浏览: 100
Python数据集乳腺癌数据集(from sklearn.datasets import load-breast-cancer)
5星 · 资源好评率100%
这个错误通常是由于使用了过时的参数或者方法导致的。在这个例子中,LogisticRegression() 的初始化函数只有一个参数,但是在使用 RFE() 函数时传递了两个参数,导致出现了这个错误。
解决方法是修改 RFE() 函数中的参数,将原来的 LogisticRegression() 修改为 LogisticRegression(solver='lbfgs', max_iter=1000)。这样就可以避免这个错误。
修改后的代码如下:
```
from sklearn import datasets
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression(solver='lbfgs', max_iter=1000)
rfe = RFE(logreg, 18)
rfe = rfe.fit(data_final[X], data_final[y] )
print(rfe.support_)
print(rfe.ranking_)
```
注意,这里的 solver 和 max_iter 参数是为了避免另一个常见的错误,即 LogisticRegression() 函数的默认参数在某些情况下会导致收敛错误。如果你的数据集比较大或者复杂,可以根据需要调整这些参数。
阅读全文