python sklearn机械学习模型-分类

  • 🌈所属专栏:【机械学习】
  • 作者主页:  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_scoremlp_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_scorelrmodel=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_scorerfmodel=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_scoreparam_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 GridSearchCVparam_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.rhkb.cn/news/366116.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WIN11,如何同时连接有线网络与WLAN无线网络

之前写了两篇文章,一篇是双网卡多网卡时win11如何设置网卡优先级_多网卡设置网卡优先级-CSDN博客 另一篇是win11 以太网和WLAN冲突 连接网线时导致WiFi掉线 解决_win11 以太网和wifi不能同时生效-CSDN博客 这篇是对上面两篇的补充:主要解决电脑重启后&…

适用于高海拔地区的工业路由器产品

1、西藏背景 西藏,这个位于中国西南部的神秘之地,以其雄伟壮观、神奇瑰丽的自然风光和深厚的文化底蕴,被无数人视为心中的圣地。这里属于高原性气候,具有气温低、气压低,降水少,生态环境十分恶劣。西藏被誉…

计算机网络-第5章运输层

5.1运输层协议概述 5.1.1进程之间的通信 运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。 通信的两端应当是两个主机中的应用进程。 运输层复用和分用:复用指在发送方不同的应用进程都可以…

Linux下SUID提权学习 - 从原理到使用

目录 1. 文件权限介绍1.1 suid权限1.2 sgid权限1.3 sticky权限 2. SUID权限3. 设置SUID权限4. SUID提权原理5. SUID提权步骤6. 常用指令的提权方法6.1 nmap6.2 find6.3 vim6.4 bash6.5 less6.6 more6.7 其他命令的提权方法 1. 文件权限介绍 linux的文件有普通权限和特殊权限&a…

基于Python的自动化测试框架-Pytest总结-第一弹基础

Pytest总结第一弹基础 入门知识点安装pytest运行pytest测试用例发现规则执行方式命令行执行参数 配置发现规则 如何编写测试Case基础案例断言语句的使用pytest.fail() 和 Exceptions自定义断言函数异常测试测试类形式 pytest的Fixture使用Fixture入门案例使用fixture的Setup、T…

RabbitMQ 之 延迟队列

目录 ​编辑一、延迟队列概念 二、延迟队列使用场景 三、整合 SpringBoot 1、创建项目 2、添加依赖 3、修改配置文件 4、添加 Swagger 配置类 四、队列 TTL 1、代码架构图 2、配置文件代码类 3、生产者 4、消费者 5、结果展示 五、延时队列优化 1、代码架构图 …

CentOS中使用SSH远程登录

CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作 两台安装CentOS系统的虚拟机 客户机(192.168.239.128) 服务器(192.168.239.129) SSH概述 Secure S…

叮!云原生虚拟数仓 PieCloudDB Database 动态包裹已送达

第一部分 PieCloudDB Database 最新动态 支持动态配置查询簇 PieCloudDB 最新内核版本 v2.14.0 新增动态配置查询簇功能。PieCloudDB 动态配置查询簇功能实现可伸缩的并行化查询,可提升单个查询并行使用底层资源的能力,同时加快查询响应速度。 动态配…

基于隐马尔可夫模型的股票预测【HMM】

基于机器学习方法的股票预测系列文章目录 一、基于强化学习DQN的股票预测【股票交易】 二、基于CNN的股票预测方法【卷积神经网络】 三、基于隐马尔可夫模型的股票预测【HMM】 文章目录 基于机器学习方法的股票预测系列文章目录一、HMM模型简介(1)前向后…

学生管理系统

一、登录 用户类:属性:用户名、密码、身份证号码、手机号码 1、欢迎页面 System.out.println("欢迎来到学生管理系统"); System.out.println("请选择操作1登录 2注册 3忘记密码"); 代码实现: //欢迎页面public static…

Rabbitmq部署

环境 操作系统CentOS7 安装 准备安装包 # rabbitmq基于erlang语言开发,需先安装erlang语言解释器 [rootnode2 ~]# ls erlang-21.3-1.el7.x86_64.rpm rabbitmq-server-3.8.8-1.el7.noarch.rpm [rootnode2 ~]# rpm -ivh erlang-21.3-1.el7.x86_64.rpm #安装soca…

【嵌入式】探索嵌入式世界:在ARM上构建俄罗斯方块游戏的奇妙之旅

文章目录 前言:1. 简介2. 总体设计思路及功能描述2.1 设计思路2.2 功能描述2.3 程序流程图 3. 各部分程序功能及详细说明3.1 游戏界面函数3.1.1 游戏界面中的图片显示3.1.2 游戏开始界面3.1.3 游戏主界面3.1.4 游戏结束广告界面3.1.5 游戏界面中的触摸反馈3.1.6 游戏…

全球首款搭载Google Gemini和GPT-4o的智能眼镜发布

智能眼镜仍然是一个尚未完全成熟的未来概念,但生成式人工智能的到来显著提升了这些设备的能力。Meta 的 Ray-Ban 智能眼镜被许多人视为当今最好的选择之一,而现在 Solos AirGo Vision 正在为其带来竞争,这款眼镜还集成了 Google Gemini 支持。…

python代码报错

1.报错信息: asyncio.WindowsSelectorEventLoopPolicy()^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module asyncio has no attribute WindowsSelectorEventLoopPolicy 2.解决办法: if __name__ "__main__": # 移除或注…

❤ Gitee平台的使用

Gitee平台的使用 文章目录 Gitee平台的使用一、Gitee的注册1、注册2、添加邮箱 二、仓库的创建 和 团队成员的添加1、单击右上角的 **+** 号 、创建仓库2、如下填写即可 三、仓库克隆到本地1、安装好git 和 小乌龟(TortoiseGit)2、打开仓库 复…

(超详细)数据结构——“队列”的深度解析

目录 前言: 1.队列的概念 2.队列的实现 3.代码实现队列 3.1 队列的初始化 3.2 插入 3.3 删除 3.4 队列的队头,队尾和大小 3.5 判空 3.6 销毁 3.7 测试 前言: 队列与栈都是线性表,它们的结构也非常类似&#…

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

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

Three.js机器人与星系动态场景:实现3D渲染与交互式控制

内容摘要:使用Three.js库构建了一个交互式的3D场景。组件中创建了一个机器人模型,包括头部、眼睛、触角、身体和四肢,以及两个相同的机器人实例以实现动态效果。场景中还加入了粒子效果,模拟星系环境,增强了视觉效果。…

设备调试上位机GUI

C Fast Qt C 前端 原来真的不需要在 design 上画来画去,有chat-gpt 那里不知道问哪里 全是组件拼起来的,不需要画,最后发现其实也是定式模式,跟着AI 学套路

JavaScript将参数传递给事件处理程序

本篇文件我们将实现导航栏中,选中时候,会将您选中的进行高亮显示; ● 首先我们来获取我们想要的HTML元素 const nav document.querySelector(.nav);● 接着我们来写选中的高亮显示 nav.addEventListener(mouseover, function (e) { //鼠…