Python代码: 使用随机森林模型可视化特征权重
Python代码: 使用随机森林模型可视化特征权重
这篇文章提供了一个使用Python和随机森林模型来描绘特征权重图的示例代码,并对代码进行了详细解释。pythonimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.ensemble import RandomForestRegressor
创建一些随机数据X = np.random.rand(100, 5)y = X[:, 0] + 2*X[:, 1] + np.random.randn(100)*0.1
训练随机森林模型rf = RandomForestRegressor(n_estimators=100)rf.fit(X, y)
提取特征权重importances = rf.feature_importances_
绘制特征权重图plt.bar(range(X.shape[1]), importances)plt.xticks(range(X.shape[1]), ['Feature {}'.format(i) for i in range(X.shape[1])])plt.xlabel('Features')plt.ylabel('Importance')plt.title('Feature Importance Plot')plt.show()
代码解析:
-
导入必要的库: -
numpy用于生成随机数据。 -matplotlib.pyplot用于绘制特征权重图。 -sklearn.ensemble中的RandomForestRegressor用于创建随机森林模型。 -
创建随机数据集: -
X是包含5个特征的随机数据集。 -y是目标变量,它与X中的特征线性相关,并添加了一些随机噪声。 -
训练随机森林模型: - 创建一个
RandomForestRegressor对象,并使用fit方法将数据拟合到模型中。 -
提取特征权重: - 使用训练好的模型的
feature_importances_属性来获取每个特征的权重。 -
绘制特征权重图: - 使用
plt.bar函数绘制条形图,其中每个条形代表一个特征,条形的高度表示其权重。 - 使用plt.xticks,plt.xlabel,plt.ylabel和plt.title函数来设置图形的标题和轴标签。 - 使用plt.show函数显示图形。
通过这个例子,我们可以清楚地看到哪些特征对目标变量的影响最大,从而更好地理解模型的行为和数据特征。
原文地址: http://www.cveoy.top/t/topic/f1YY 著作权归作者所有。请勿转载和采集!