📜  sklearn 随机森林特征重要性 (1)

📅  最后修改于: 2023-12-03 15:35:00.271000             🧑  作者: Mango

sklearn随机森林特征重要性

随机森林是一种强大的机器学习算法。在这个算法中,会生成多个决策树,每个决策树都是对样本进行随机抽样和特征选择的。

在sklearn中,随机森林可以用RandomForestRegressor和RandomForestClassifier来实现回归和分类问题。同时,随机森林也可以测量每个特征的重要性。

为了测量这个重要性,随机森林会对每个决策树测量每个特征上的信息增益,然后将这些增益平均,最后得到每个特征的重要性。

以下是使用sklearn随机森林测量特征重要性的示例代码:

from sklearn.ensemble import RandomForestClassifier
import pandas as pd
import numpy as np

# 读取数据
df = pd.read_csv('data.csv')

# 定义特征和目标变量
X = df.iloc[:, :-1]
y = df.iloc[:, -1]

# 创建随机森林模型
model = RandomForestClassifier()

# 拟合模型
model.fit(X, y)

# 得出特征重要性
importances = model.feature_importances_

# 将特征重要性添加到dataframe中
df_importances = pd.DataFrame({'feature': X.columns, 'importance': importances})

# 按重要性降序排序
df_importances = df_importances.sort_values('importance', ascending=False)

# 打印出结果
print(df_importances)

该代码会读取一个数据集,使用随机森林模型测量每个特征的重要性,并输出结果。结果将按照重要性进行降序排列。

Markdown结果:

The code above uses sklearn's RandomForestClassifier to measure feature importance. It does so by fitting a model to the data and then using the model's feature_importances_ attribute to get the importance of each feature. The resulting feature importances are sorted in descending order and printed.