逻辑回归 修改参数解决样本数据不均衡的问题

该博客探讨了如何利用逻辑回归的参数调整应对样本数据不平衡的挑战。通过建立混淆矩阵,作者指出数据存在的问题,并提出了自定义权重的策略来进行回归训练,以优化模型性能。
摘要由CSDN通过智能技术生成

逻辑回归参数:

下面会用到修改权重:

在这里插入图片描述

建立混沌矩阵:

import pandas as pd
#接下来就是如何算4个指标 fp tp fn tn

# 假正类(False Positive,FP):将负类预测为正类
fp_filter = (predictions == 1) & (loans["loan_status"] == 0)
fp = len(predictions[fp_filter])
print(fp)
print("----------------------------------------")


# 真正类(True Positive,TP):将正类预测为正类
tp_filter = (predictions == 1) & (loans["loan_status"] == 1)
tp = len(predictions[tp_filter])
print(tp)
print("----------------------------------------")


# 假负类(False Negative,FN):将正类预测为负类
fn_filter = (predictions == 0) & (loans["loan_status"] == 1)
fn = len(predictions[fn_filter])
print(fn)
print("----------------------------------------")

# 真负类(True Negative,TN):将负类预测为负类
tn_filter = (predictions == 0) &am
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,请先安装sklearn、numpy和pandas这三个库。 下面是代码实现: ```python import numpy as np import pandas as pd from sklearn.linear_model import LogisticRegression from sklearn.model_selection import GridSearchCV, StratifiedKFold from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score # 读取数据 df = pd.read_csv('your_data.csv') # 划分特征和标签 X = df.drop('label', axis=1) y = df['label'] # 定义逻辑回归模型 lr = LogisticRegression(class_weight='balanced') # 定义参数网格 param_grid = { 'penalty': ['l1', 'l2'], 'C': [0.01, 0.1, 1, 10, 100] } # 定义评估指标 scoring = { 'acc': 'accuracy', 'pre': 'precision', 'recall': 'recall', 'F1': 'f1', 'AUC': 'roc_auc' } # 定义五折交叉验证 cv = StratifiedKFold(n_splits=5) # 定义网格搜索器 grid_search = GridSearchCV(lr, param_grid=param_grid, scoring=scoring, cv=cv, refit='AUC') # 进行网格搜索 grid_search.fit(X, y) # 输出最佳模型参数 print('Best parameters: ', grid_search.best_params_) # 输出各项评估指标 for scorer in scoring: print(scorer + ':', np.mean(grid_search.cv_results_['mean_test_' + scorer])) ``` 在上述代码中,我们使用逻辑回归模型,并使用了网格搜索来寻找最佳模型参数。同时,我们使用了五折交叉验证,并使用了ACC、PRE、RECALL、F1和AUC这五个指标来评估模型。请注意,在逻辑回归中,我们使用了`class_weight='balanced'`参数来处理样本均衡问题。 你可以修改上述代码中的数据路径、参数网格、评估指标等来适应你自己的数据和需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值