Я попытался применить классификатор 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)