python sklearn机械学习模型-分类

news2024/11/17 21:35:28
  • 🌈所属专栏:【机械学习】
  • 作者主页:  Mr.Zwq
  • ✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询!

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩🥰😍

目录

安装

数据

使用

MLP模型

逻辑回归模型

随机森林模型

SGDClassifier模型 

XGBoost模型 

网格搜索优化XGBoost模型

总结


安装

pip install scikit-learn

数据

X,y即为所需要进行回归处理的数据。

操作:拆分为训练集和测试集

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=12)

使用

MLP模型

# 训练MLP模型
from sklearn.neural_network import MLPClassifier
from sklearn.metrics import roc_auc_score

mlp_model = MLPClassifier(hidden_layer_sizes=(64,32), activation='relu', solver='adam',max_iter=200, random_state=12)
mlp_model.fit(X_train,y_train)
y_pred_mlp = mlp_model.predict_proba(X_test)[:,1]

# auc分数越接近1表示模型性能越好
auc_mlp = roc_auc_score(y_test, y_pred_mlp)
print(f'MLP Model AUC:{auc_mlp:.4f}')

逻辑回归模型

# 逻辑回归模型
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score

lrmodel=LogisticRegression(solver='liblinear')
lrmodel.fit(X_train,y_train)
y_lrpred=lrmodel.predict_proba(X_test)[:,1]
auc = roc_auc_score(y_test, y_lrpred)

print(f'LogisticRegression Model AUC:{auc:.4f}')

随机森林模型

# 随机森林模型
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score

rfmodel=RandomForestClassifier()
rfmodel.fit(X_train,y_train)
y_rfpred=rfmodel.predict_proba(X_test)[:,1]

auc = roc_auc_score(y_test, y_rfpred)
print(f'RandomForestClassifier Model AUC:{auc:.4f}')

SGDClassifier模型 

# SGDClassifier模型
from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import matthews_corrcoef,make_scorer,roc_auc_score

param_grid=[{
    'loss':['hinge'],
    'alpha':[10**k for k in range(-3,4)],
    'max_iter':[1000],
    'tol':[1e-3],
    'random_state':[random_state],
    'class_weight':[None,'balanced'],
    'warm_start':[True]},
    {'loss':['log'],
    'penalty':['l2','l1'],
    'alpha':[10**k for k in range(-3,4)],
    'max_iter':[1000],
    'tol':[1e-3],
    'random_state':[random_state],
    'class_weight':[None,'balanced'],
    'warm_start':[True]}]
grid=GridSearchCV(estimator=SGDClassifier(),param_grid=param_grid,scoring=make_scorer(matthews_corrcoef),n_jobs=1,pre_dispatch=1,verbose=1,return_train_score=True)
grid.fit(X_train,y_train)
y_SGDCpred=grid.predict(X_test)

auc = roc_auc_score(y_test, y_SGDCpred)
print(f'SGDClassifier Model AUC:{auc:.4f}')

XGBoost模型 

安装:pip install xgboost

import xgboost as xgb
from sklearn.metrics import roc_auc_score

# 训练XGBoost模型
xgb_model = xgb.XGBClassifier(use_label_encoder=False, eval_metric='logloss')
xgb_model.fit(X_train, y_train)
y_pred_xgb = xgb_model.predict_proba(X_test)[:,1]

auc_xgb = roc_auc_score(y_test, y_pred_xgb)
print(f'XGBoost Model AUC:{auc_xgb:.4f}')

网格搜索优化XGBoost模型

# 网格搜索优化XGBoost模型
import xgboost as xgb
from sklearn.metrics import roc_auc_score
from sklearn.model_selection import GridSearchCV

param_grid = {
    'n_estimators':[50,100,200],
    'max_depth':[3,4,5],
    'learning_rate':[0.01,0.1,0.2]
}
xgb_model = xgb.XGBClassifier(use_label_encoder=False, eval_metric='logloss')
grid_search = GridSearchCV(estimator=xgb_model, param_grid=param_grid, scoring='roc_auc',cv=3)
grid_search.fit(X_train, y_train)
best_xgb_model = grid_search.best_estimator_
y_pred_best_xgb = best_xgb_model.predict_proba(X_test)[:,1]

auc_best_xgb = roc_auc_score(y_test, y_pred_best_xgb)
print(f'Optimized XGBoost Model AUC:{auc_best_xgb:.4f}')

总结

感谢观看,原创不易,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹🌹🌹

👍🏻也欢迎你,关注我。👍🏻

如有疑问,可在评论区留言哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1884394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用的限流算法有哪些?你听说过几种?

限流,就是指限制流量请求的频次。 在高并发情况下,它是一种保护系统的策略,避免了在流量高峰时系统崩溃,造成系统的不可用。 常见的限流算法有: 计数器限流算法滑动窗口限流算法漏桶限流算法令牌桶限流算法 1. 计数器…

LeetCode题练习与总结:二叉树的前序遍历--144

一、题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3]示例 2: 输入:root [] 输出:[]示例 3: 输入:roo…

ARM功耗管理软件之DVFSAVS

安全之安全(security)博客目录导读 思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS? 目录 一、ARM功耗管理软件之DVFS 二、ARM功耗管理软件之AVS 一、ARM功耗管理软件之DVFS 有一个实现特定…

招生报名系统教培招生小程序

招生报名系统:轻松实现教培招生新高度 🚀 招生报名系统,开启智慧教育新时代 在当今数字化快速发展的时代,教育行业也迎来了变革的浪潮。招生报名系统作为这一变革的先锋,为教育机构提供了全新的招生渠道和管理方式。通…

jmeter-beanshell学习1-vars使用获取变量和设置变量

最近又开始了用jmeter做自动化,不管怎么实现,都逃离不了用beanshell,最后把所有校验都放在了beanshell判断,效果还不错。 首先jmeter有很多beanshell相关的元件,取样器、前置处理器、后置处理器、断言,暂时…

传输距离3000M|低延迟|48K采样音频传输模块-SA356大功率发射模块

无线音频应用中,远距离音频传输在许多领域具有广泛的应用需求,例如大型会议系统、公共广播、户外活动和音乐演出等。为了满足这些需求,音频传输模块需要具备一些关键特性,包括长距离传输能力、高音质、低延迟、稳定性以及抗干扰能…

UE5 动画蓝图

文章目录 一、State Machines二、Blend Spaces三、Aim Offset四、Montage 初步介绍 Unreal Engine 5 Tutorial - Animation Blueprint Part 1: State Machines (youtube.com) Unreal Engine 5 Tutorial - Animation Blueprint Part 2: Blend Spaces (youtube.com) Unreal Engi…

RK3568平台(USB篇)TYPE-C接口与PD协议

一.TYPE-C接口简介 type-c 插座: type-c 插头: type-c 线缆: type-c 接口定义之插座: type-c 硬件原理图: VBUS:供电引脚,用于传输电源电压,一般为5V或12V。 GND:地引…

类与对象(3)

1.首先我们先介绍一下 赋值重载 我们来举个例子来实现一下 赋值重载也叫赋值拷贝 void operator(const Date& d){//赋值拷贝 是拷贝给一个已经赋值好的对象 也叫赋值重载cout << "赋值重载" << endl;year d.year;month d.month;day d.day;} 如果…

Linux 高级编程——线程控制

线程控制&#xff1a;互斥与同步 概念&#xff1a; 互斥 》在多线程中对临界资源的排他性访问。 互斥机制 》互斥锁 》保证临界资源的 访问控制。 pthread_mutex_t mutex; 互斥锁类型 互斥锁变量 内核对象 框架&#xff1a; 定义互斥锁 》初始化锁 》加…

uniapp中如何进行微信小程序的分包

思路&#xff1a;在uniapp中对微信小程序进行分包&#xff0c;和原生微信小程序进行分包的操作基本上没区别&#xff0c;主要就是在pages.json中进行配置。 如图&#xff0c;我新增了一个包diver-page 此时需要在pages.json中的subPackages数组中新增一项 root代表这个包的根…

“论单元测试方法及应用”精选范文,软考高级论文,系统架构设计师论文

论文真题 1、概要叙述你参与管理和开发的软件项目,以吸你所担的主要工作。 2、结给你参与管理和开发的软件项目&#xff0c;简要叙述单元测试中静态测试和动态测试方法的基本内容。 3、结给你惨与管理和研发的软件项目,体阐述在玩测试过程中,如何确定白盒测试的覆盖标准,及如…

Sourcecodester Fantastic Blog CMS v1.0 SQL 注入漏洞(CVE-2022-28512)

前言 CVE-2022-28512 是一个存在于 Sourcecodester Fantastic Blog CMS v1.0 中的 SQL 注入漏洞。攻击者可以通过 "/fantasticblog/single.php" 中的 id 参数注入恶意 SQL 查询&#xff0c;从而获得对数据库的未经授权的访问和控制。 漏洞详细信息 漏洞描述: 该漏…

QML学习——Qt Quick Extras Examples 1.4(八)

Qt Quick Extras Examples 阅读官方的源码然后尝试做了下 01 A car dashboard 样例演示&#xff1a; 说明&#xff1a; ValueSource组件控制数值相关的动画&#xff0c;例如图中数值的变化&#xff1b;TurnIndicator组件是控制左右方向灯的闪烁和背景&#xff0c;里面使用…

深入解析HDFS:定义、架构、原理、应用场景及常用命令

引言 Hadoop分布式文件系统&#xff08;HDFS&#xff0c;Hadoop Distributed File System&#xff09;是Hadoop框架的核心组件之一&#xff0c;它提供了高可靠性、高可用性和高吞吐量的大规模数据存储和管理能力。本文将从HDFS的定义、架构、工作原理、应用场景以及常用…

【Kotlin】Kotlin 基础语法指南

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

vue项目手机录音

手机实现录音功能&#xff0c;安卓和苹果都可。功能&#xff0c;点击开始录制录音后&#xff0c;随时可以停止录音&#xff0c;如果不点击停止最多录制15秒。 页面结构 <!--音频--> <div class"audio-box"><audio id"audioPlayer"controlsc…

excel修改批量一列单价的金额并保留1位小数

1.打开表格&#xff0c;要把单价金额变成现在的两倍&#xff0c;数据如下&#xff1a; 2.把单价这一列粘贴到一个新的sheet页面&#xff0c;在B2单元格输入公式&#xff1a;A2*2 然后按enter回车键,这时候吧鼠标放到B2单元格右下角&#xff0c;会出现一个黑色的小加号&#xf…

泰国火出圈的slots游戏联动本土网盟广告推广优势

泰国火出圈的slots游戏联动本土网盟广告推广优势 在泰国&#xff0c;Slots游戏凭借其独特的魅力和吸引力&#xff0c;迅速成为玩家们的热门选择。然而&#xff0c;要在竞争激烈的市场中脱颖而出&#xff0c;推广策略显得尤为重要。本土网盟广告以其独特的优势&#xff0c;为Sl…

制氢厂氢气泄漏安全监测:氢气传感器守护“氢”安全

随着全球能源结构的转型和清洁能源的需求日益增长&#xff0c;氢能作为一种高效、清洁的能源载体&#xff0c;受到了广泛关注。制氢厂作为氢能产业的重要组成部分&#xff0c;其安全问题也日益凸显。在制氢过程中&#xff0c;氢气泄漏是潜在的安全隐患之一&#xff0c;因此&…