#python #machine-learning #scikit-learn #classification
#python #машинное обучение #scikit-учиться #классификация
Вопрос:
У меня есть вопрос относительно интерпретируемости алгоритмов машинного обучения.
У меня есть набор данных, выглядящий следующим образом: табличный набор данных
Я подготовил модель классификации (MLPClassifier из Scikit-Learn) и хочу знать, какие функции оказывают наибольшее влияние (наибольший вес) на решение.
Моя конечная цель — найти различные решения (сочетание функций), которые с высокой вероятностью (> 90%) будут классифицированы как 1.
Кто-нибудь знает способ получить эти решения?
Заранее спасибо!
Ответ №1:
Чтобы определить важность признака во время выполнения задачи классификации, методологией классификации должен быть randomforest или decision tree, оба реализованы в sklearn,
clf = RandomForestClassifier(n_estimators=100, max_depth=2,random_state=0)
clf.fit(X, y)
#After the fit step
clf.feature_importances_
Важность функции покажет вам, какой вес имеет каждая функция. если ваш классификатор MLP обучен должным образом, он присвоит почти одинаковую важность различным функциям в вашей сети,