如何使用sklearn实现随机森林分类,并分析特征的重要性
时间: 2023-11-22 12:52:56 浏览: 95
使用sklearn实现随机森林分类的步骤如下:
1. 导入所需的库和数据:
```python
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
data = pd.read_csv('data.csv')
X = data.drop(['target'], axis=1)
y = data['target']
```
2. 将数据集分为训练集和测试集:
```python
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
3. 定义随机森林分类器并拟合训练数据:
```python
rfc = RandomForestClassifier(n_estimators=100, random_state=42)
rfc.fit(X_train, y_train)
```
4. 使用测试集评估模型性能:
```python
accuracy = rfc.score(X_test, y_test)
print(f'Accuracy: {accuracy}')
```
5. 分析特征的重要性:
```python
importances = rfc.feature_importances_
feature_importances = pd.DataFrame({'feature': X.columns, 'importance': importances})
feature_importances = feature_importances.sort_values('importance', ascending=False).reset_index(drop=True)
print(feature_importances)
```
以上代码中,第3步中的n_estimators参数指定了随机森林中决策树的数量,可以根据需要调整该参数。
第5步中,我们使用feature_importances_属性获取每个特征的重要性得分,并将其转换为数据框进行排序和可视化。
请注意,特征重要性分数是相对的,因此必须同时考虑所有特征才能进行准确的比较。
阅读全文