机器学习RF估算代码,加调参代码

该代码示例展示了如何利用Python的scikit-learn库进行随机森林回归(RandomForestRegressor)的参数调优。首先,通过GridSearchCV进行参数网格搜索,找到最优参数组合,然后用这些参数训练模型并在测试集上进行预测,最后评估模型的性能,包括MAE、MSE、RMSE和R²分数。整个过程的日志被记录下来以便后续分析。

使用RF估算浓度,价格,等,下面两个代码,第一个代码是寻找最优参数,第二个是预测。

话不多说直接上代码
RF_reserach.py

'''
@Project :moxing 
@File    :RF_reserach.py
@IDE     :PyCharm 
@Author  :11
@Date    :2023/6/29 11:31 
'''
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV, train_test_split
import logging

# 配置日志输出
logging.basicConfig(filename='01month_rf_model_04csv.log', level=logging.INFO)
# 读取数据

data = pd.read_csv(r'G:\RF\normalized_month_12\01\04.csv')
# 定义特征和目标列
X = data.drop(columns=['CO2']) #目标列名
y = data['CO2']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 定义随机森林回归器
rf = RandomForestRegressor()


#定义参数网格
param_grid = {
     'n_estimators': [200, 300, 500,700,1000],  # 决策树数量
    'max_depth': [10, 20,],  # 最大树深度
     'min_samples_split': [2, 5,10,20],  # 节点分裂所需的最小样本数
   'min_samples_leaf': [1,2,4,8],  # 叶节点所需的最小样本数
  'max_feature
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值