以测试集AUC为评价指标,利用随机森林预测二分类任务的代码
时间: 2024-01-22 19:11:39 浏览: 82
基于随机森林算法的数据分类预测
好的,以下是使用Python中的scikit-learn库实现随机森林进行二分类任务的代码,评价指标为测试集的AUC值:
```python
# 导入所需库
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import train_test_split
import pandas as pd
# 读入数据
data = pd.read_csv('data.csv')
# 划分特征和标签
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义随机森林模型
rfc = RandomForestClassifier(n_estimators=100, max_depth=10, random_state=42)
# 模型训练
rfc.fit(X_train, y_train)
# 预测测试集
y_pred = rfc.predict_proba(X_test)[:, 1]
# 计算AUC值
auc = roc_auc_score(y_test, y_pred)
# 输出AUC值
print('测试集AUC值为:', auc)
```
其中,数据文件`data.csv`为包含特征和标签的二分类数据集,`n_estimators`和`max_depth`分别为随机森林的树的数量和最大深度。使用`train_test_split`函数将数据集划分为训练集和测试集,使用`fit`方法训练模型,使用`predict_proba`方法得到测试集的预测概率,最后使用`roc_auc_score`函数计算AUC值。
阅读全文