Генерировать важность функции, используя Scikit Learn, случайный лес
Узнайте базовую концепцию для использования случайных лесов, применяемых к вашим проектам, и сравнить результат среди различных методов

Алгоритм случайного леса был применен во многих отраслях, что позволяет им принимать лучшие деловые решения. Некоторые варианты использования включают анализ высокого кредитного риска и рекомендацию продукта для целей перекрестной продажи.
В этом произведении я бы кратко проведет вас по нескольким методам создания важности функции, используя классический набор данных валидатора качества красного вина. К концу этой главы вы можете иметь базовую концепцию для использования случайного леса, применяемого к вашим проектам, и сравнить результат между различными методами.
Соглашение: Создайте важность объекта, используя Scikit Learn и случайный лес в машинном обучении
- наборы данных красного вина и обучение данных
- встроенная функция важность со Scikit-learn </li >
- встроенный метод Scikit-Learn со случайной особенностью < /li>
- важность перестановки
- Особенность случайных лесов с помощью Snap
- Особенность случайного лесного пути
- полные сценарии питона генератора важности
Набор данных красного вина и обучение данных
Для любой модели машинного обучения, получение правильного набора данных или предварительной обработки данные имеют решающее значение. Kaggle — одна из самых популярных платформ для вас, чтобы найти правильный набор данных. Вот ссылка для проекта качества красного вина.
https://www.kaggle.com/datasets/uciml/red-wine-quality-cortez-et-al-2009
Первое, что обработка данных с использованием pandas и sklearn train_test_split-первый шаг.
url = "" Winequality-Red.csv ""
wine_data = style = ""font-weight : 400; ""> pd
. read_csv ( url , sep = «» ; «»)
x = wine_data . Drop ( 'Quality' , </ span> axis = 1 )
y = wine_data [ 'Quality' ]
x_train , x_test , y_train , y_test = train_test_split ( x , y , test_size = 0,5 , random_state = 50 ) </ span>
встроенная важность функции с Scikit-learn
scikit-learn обеспечивает встроенный метод важности функции для моделей случайных лесов. Согласно документации, этот метод основан на уменьшении примеси узлов.
В случайном лесу вопросы похожи на функции в модели. Некоторые вопросы помогают вам устранить больше возможностей, чем другие. Предполагается, что функции, которые помогают вам быстро устранить больше возможностей, более важны, потому что они помогают вам быстрее приблизиться к правильному ответу. Очень просто получить импорт этих функций с помощью Scikit-learn:
rf = randomforestregresressor ( n_estimators = 100 , random_state = 50 )
rf . fit ( x_train , y_train )
inbuilt_importances = pd . series ( rf . feature_importances _ , Индекс = x_train . Columns)
inbuilt_importances . sort_values ( Восходящий = true , inplace = true )
inbuilt_importances . plotion . barh ( color = 'black' )
встроенный метод Scikit-Learn со случайной функцией
Самый простой способ продвижения этого метода-добавить случайную функцию в набор данных и посмотреть, может ли результат быть отклонен больше, чем 1-й без случайного. /span>
Если реальная функция имеет более низкое значение, чем случайная функция, это может указывать на то, что его важность просто связана с случайностью.
def randommethod ():
x_train_random = x_train . Copy () </ Код>
x_train_random [ "" случайный "" ] = np . случайный </ span> . randomstate ( 42 ). randn ( x_train . Shape [ 0 ])
rf_random = randomforestregressor ( n_estimators = 100 < Span Style = ""Font-Weight: 400;"">, random_state = < /span> 42 )
rf_random . fit ( x_train_random , y_train < Span Style = ""font-weight: 400;"">)
importances_random = pd . series ( rf_random < SPAN Style = ""Font-Weight: 400;"">. feature_improvances _ , < /span> index = X_train_random . Columns)
importances_random . sort_values ( ascending = true < Span Style = ""Font-Weight: 400;"">, inplace = < /span> true )
importances_random . plound . barh ( color < Span Style = ""Font-Weight: 400;""> = 'blue' )
plt . xlabel ( "" значение "" )
plt . ylabel ( "" функция "" )
plt . title ( "" Особенность важности-Scikit Learn встроен в встроенный со случайным "" )
plt . show ()
return
permation fastry affice
Особенность перестановки.
одним из преимуществ этого метода является то, что его можно использовать с любой моделью, а не только случайными лесами, что делает результаты между моделями более сопоставимыми. </span >
Особенность случайного леса с помощью Snap
Shap-это метод интерпретации вывода моделей машинного обучения на основе теории игр.
Он обеспечивает единую меру важности, которая, как и важность перестановки, может быть применена к любой модели.
Основным недостатком этого является то, что он может быть вычислительно дорогой, особенно для больших наборов данных или сложных моделей.
randome Path Path Особенность
Другой способ понять, как каждая особенность вносит вклад в предсказания случайных лесов,-это посмотреть на пути дерева решений, которые идет каждый экземпляр.
он вычисляет разницу между значением прогноза в листовом узле и значениями прогнозирования в узлах, которые предшествуют ему, чтобы получить оценочный вклад каждой функции. </span >
Полный Python scri pt Генератор важности
Если вы заинтересованы в главе 76 — генерируйте важность объекта с использованием Scikit Learn и Strand Forest, пожалуйста Подпишитесь на нашу новостную рассылку , добавив сообщение« Глава 75 + понятие API ‘ . Мы сразу же отправили вам сценарий в ваш почтовый ящик.
Я надеюсь, вам понравится читать главу 76 — генерируйте важность объекта, используя Scikit Learn и Strade Forest. Если вы сделали, пожалуйста, поддержите нас, делая одну из перечисленных ниже, потому что это всегда помогает нашему каналу.
- Поддержите и пожертвуйте нашему каналу через PayPal (paypal.me/Easy2digital)
- Подпишитесь на мой канал и включите уведомления канал Easy2Digital в Youtube.
- Подписаться и лайкнуть мою страницу страницу Easy2Digital в Facebook
- Поделитесь статьей в своей социальной сети с хэштегом #easy2digital
- Подпишитесь на нашу еженедельную рассылку, чтобы получать последние статьи, видео и скидочные коды Easy2Digital
- Подписаться на наше ежемесячное членство через Patreon, чтобы получать эксклюзивные бонусы (www.patreon.com/louisludigital)