Проверьте код ниже.
from sklearn.datasets import load_boston
from sklearn.ensemble import RandomForestRegressor
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#Load boston housing dataset as an example
boston = load_boston()
X = boston["data"]
Y = boston["target"]
names = boston["feature_names"]
reg = RandomForestRegressor()
reg.fit(X, Y)
print("Features sorted by their score:")
print(sorted(zip(map(lambda x: round(x, 4), reg.feature_importances_), names),
reverse=True))
boston_pd = pd.DataFrame(boston.data)
print(boston_pd.head())
boston_pd.columns = boston.feature_names
print(boston_pd.head())
# correlations
boston_pd.corr()
import seaborn as sn
import matplotlib.pyplot as plt
corrMatrix = boston_pd.corr()
sn.heatmap(corrMatrix, annot=True)
plt.show()
features = boston.feature_names
importances = reg.feature_importances_
indices = np.argsort(importances)
plt.title('Feature Importances')
plt.barh(range(len(indices)), importances[indices], color='#8f63f4', align='center')
plt.yticks(range(len(indices)), features[indices])
plt.xlabel('Relative Importance')
plt.show()
Таким образом, выбор функций зависит от аналитиков корреляции, чтобы определить лучшие функции, которые мы должны использовать; какие характеристики (независимые переменные) оказывают наибольшее статистическое влияние на определение целевой переменной (зависимой переменной). Корреляция - это статистический термин, который относится к тому, насколько близки две переменные с точки зрения наличия линейных отношений друг с другом. Выбор функций является одним из первых и, возможно, одним из наиболее важных шагов при выполнении любой задачи машинного обучения. Элемент в наборе данных - это столбец данных. При работе с любым набором данных мы должны понимать, какой столбец (функция) будет оказывать статистически значимое влияние на выходную переменную. Если мы добавим много не относящихся к делу функций в модель, это только сделает модель наихудшей (Garbage In Garbage Out). Вот почему мы делаем выбор функций. Корреляция Пирсона (выбор признаков) очень популярна для определения релевантности всех независимых переменных относительно целевой переменной (зависимой переменной).