AttributeError:“str”对象没有属性“fit”

2024-09-28 22:31:40 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我想在蘑菇数据集上使用一个简单的AdaBoostClassifier,这会导致smth。比如:

target  cap-shape  cap-surface  cap-color  bruises  odor  \
3059       0          2            3          2        1     5   
1953       0          5            0          3        1     5   
1246       0          2            2          3        0     5   
5373       1          5            2          8        1     2   
413        0          5            3          9        1     3   

。。。在

使用:

^{pr2}$

但这让我明白了:

---> 15 AdaBoost.fit(X,Y)

AttributeError: 'str' object has no attribute 'fit'


Tags: 数据targetsurfacefitcolor集上capshape
2条回答

我发现了问题。作为基本估计器,我设置了“DecisionTreeClassifier”。这是一个sting,没有fit()方法。AdaBoost不是字符串。在

from sklearn.ensemble import AdaBoostClassifier
from sklearn.preprocessing import LabelEncoder

for label in dataset.columns:
    dataset[label] = LabelEncoder().fit(dataset[label]).transform(dataset[label])

X = dataset.drop(['target'],axis=1)
Y = dataset['target']


AdaBoost = AdaBoostClassifier(n_estimators=400,learning_rate=0.01,algorithm='SAMME')

AdaBoost.fit(X,Y)

prediction = AdaBoost.score(X,Y)

print(prediction)

0.9182668636139832

根据我在上面2Obe的回答中的评论,我找到了指定参数的正确方法-

AdaBoostClassifier(base_estimator=DecisionTreeClassifier(),n_estimators=400,learning_rate=0.01,algorithm='SAMME')

它应该是构造函数而不是字符串

相关问题 更多 >