Classifier AttributeError: объект 'numpy .ndarray' не имеет атрибута 'columns' - PullRequest
0 голосов
/ 08 мая 2020

Я попытался применить классификатор extratree и randomforest к набору данных. Оба классификатора дали мне одну и ту же ошибку. Кто-нибудь знает, как решить эту ошибку? Приветствуется любая поддержка!

Вот мой набор данных, разделенный на переменные и выходные данные. Я нормализовал переменные и разделил их на набор для обучения и тестирования. Все переменные указаны в числах c.

X = df[['Buyer 1 (%)', 
          'Number of workers',
          'Required_Staff_Days__c',
          'Weekly hours (average)', 
          'Hourly wage (average)',
          'Paid above hourly (%)', 
          'Paid correctly (%)', 
          'Paid above monthly (%)',
          'Month',
          'Year',          
          'client_count',          
          'No. of Certifications',         
          'Total finding score (normalised)'
         ]]

y = df['y']

from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values='NaN', strategy = 'median', axis = 0)
imputer = imputer.fit(X)
X = imputer.transform(X)

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.20,random_state=0)

Это дополнительная попытка классификации дерева.

from sklearn.ensemble import ExtraTreesClassifier
import matplotlib.pyplot as plt
model = ExtraTreesClassifier()
model.fit(X,y)
print(model.feature_importances_) #use inbuilt class feature_importances of tree based classifiers
#plot graph of feature importances for better visualization
feat_importances = pd.Series(model.feature_importances_, index=X.columns)
feat_importances.nlargest(10).plot(kind='barh')
plt.show()

Это случайная классификация лесов.

from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import RandomForestClassifier
sel = SelectFromModel(RandomForestClassifier(n_estimators = 100))
sel.fit(X_train, y_train)

sel.get_support()

selected_feat= X_train.columns[(sel.get_support())]
len(selected_feat)

print(selected_feat)
...