python中随机森林导入数据并在确定最优参数后输出
时间: 2023-06-01 17:02:49 浏览: 81
python随机森林优化模型.py
5星 · 资源好评率100%
以下是一个示例代码,演示如何使用随机森林模型导入数据并确定最优参数后输出结果:
```
# 导入必要的库
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
# 读取数据集
data = pd.read_csv('data.csv')
# 将标签分离出来
X = data.drop('label', axis=1)
y = data['label']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 定义随机森林模型
rf = RandomForestClassifier()
# 定义要调节的参数范围
param_grid = {
'n_estimators': [50, 100, 150],
'max_depth': [5, 10, 15],
'min_samples_split': [2, 5, 10],
'min_samples_leaf': [1, 2, 4]
}
# 使用网格搜索寻找最优参数
grid_search = GridSearchCV(rf, param_grid, cv=5)
grid_search.fit(X_train, y_train)
# 输出最优参数
print("Best parameters: ", grid_search.best_params_)
# 使用最优参数的模型进行预测
rf_best = grid_search.best_estimator_
y_pred = rf_best.predict(X_test)
# 输出分类报告
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))
```
在上述代码中,我们首先读取了数据集,并将标签分离出来。然后,我们使用train_test_split函数将数据集划分为训练集和测试集。接着,我们定义了随机森林模型,并使用GridSearchCV函数进行网格搜索,寻找最优参数。找到最优参数后,我们使用最优参数的模型进行预测,并输出分类报告。
阅读全文