机器学习笔记03随机森林调参

本文详细介绍了在机器学习中使用随机森林进行预测建模的过程,并重点探讨了如何通过调整参数来优化模型性能。从理解随机森林的工作原理,到应用网格搜索(Grid Search)进行参数调优,包括决策树的数量、特征选择的随机性等因素,揭示了参数调整对模型准确性和泛化能力的影响。通过对实验结果的分析,展示了最佳参数组合的选择策略。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-

import os
import pandas as pd
import numpy as np

# 读取数据
os.chdir(r'F:\python_data_mining\train_modified')
data = pd.read_csv('train_modified.csv')
data = data.drop(['ID'], axis=1).copy()
print('数据预览: \n{}'.format(data.head()))


# 确定目标变量y和自变量X
X = data.iloc[:, 1:]
y = data.iloc[:, 0]

# 目标变量的01样本分布
print('目标变量Disbursed的01样本分布: \n{}'.format(y.value_counts()))

# 划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=123)

# # 建立随机森林模型
from sklearn.ensemble import RandomForestClassifier
import sklearn.metrics as metrics
rfc = RandomForestClassifier(oob_score=True, random_state=123)
rfc.fit(X_train, y_train)
pred_test = rfc.predict(X_test)
proba_test = rfc.predict_proba(X_test)[:, 1]

# 计算RF模型的accuracy(准确率)/AUC_score(AUC值)/oob_score(袋外分数)
print('参数采用默认值:')
print('accuracy = {}'.format(metrics.accuracy_score(y_test, pred_test)))
print('AUC_score = {}'.format(metrics.roc_auc_score(y_test, proba_test)))
print('oob_score = {}'.format(rfc.oob_score_)) # oob_score袋外分数代表了一个模型拟合后的泛化能力
print('================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值