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