Как вернуть процент зависимостей от прогноза sklearn? - PullRequest
1 голос
/ 30 января 2020

Я относительно новичок в Python и машинном обучении.

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

Я могу вывести проценты точности, но я хотел бы также вывести зависимости характеристик: например, какую роль сыграл каждый атрибут в прогнозе? Параметр policy_number будет равен 0,0%, тогда как значение Claim_amount, вероятно, будет составлять 56,2%, имеет ли это смысл?

Есть ли для этого функция scikit? Кроме того, является ли «зависимость от функции» даже правильным термином?

Вот пример фрагмента кода для предсказания:

from sklearn.linear_model import SGDClassifier
sgdc = SGDClassifier()
sgdc.fit(x_train, y_train)
y_pred = sgdc.predict(x_test)

prediction = pd.DataFrame(y_pred)

Есть ли способ извлечь функцию «важность» ? Еще раз большое спасибо за то, что уделили время.

РЕДАКТИРОВАТЬ: Хорошо, я думаю, что добился определенного прогресса, но я не уверен, что делать с результатами, так как значения не кажутся процентами. Я добавил следующий код:

from sklearn.ensemble import ExtraTreesClassifier
model = ExtraTreesClassifier()
model.fit(x_train, y_train)
coef = pd.DataFrame({''Columns'': x_train.columns, ''Importances'': np.transpose(model.feature_importances_)}).sort_values(by=[''Importances''], ascending=False)
print(coef.nlargest(10, ''Importances''))

Вот итоговый результат:

                                Columns  Importances
125      incident_severity_Minor Damage     0.042847
40                insured_hobbies_chess     0.041505
126        incident_severity_Total Loss     0.028544
124              collision_type_Unknown     0.019634
41            insured_hobbies_cross-fit     0.014173
1                       policy_state_OH     0.009765
16                     insured_sex_MALE     0.009697
57       insured_relationship_own-child     0.009582
25   insured_occupation_exec-managerial     0.009513
5                 policy_deductable_500     0.009146

Нужно ли выполнить какой-либо шаг для преобразования этих значений в проценты? Спасибо за ваше время!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...