sklearn调包侠之无敌小抄

简介: scikit-learn(以下简称为sklearn)是用Python开发的机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘方便的工具。
img_cb11313f28c891573757baf76a31ba95.jpe

scikit-learn(以下简称为sklearn)是用Python开发的机器学习库,其中包含大量机器学习算法、数据集,是数据挖掘方便的工具。本教程参考《Python机器学习及实战》、《scikit-learn机器学习》和sklearn的官方文档,详细讲解如何使用sklearn实现机器学习算法。首先,依旧讲讲写本系列教程的原因:第一,相比于直接编写各种算法,sklearn简单容易上手;第二,参考书籍有些部分讲解不细致,sklearn版本的更新,官方文档虽然齐全,但是是英文等等,希望通过编写这个教程,可以让读者轻松上手机器学习;第三,依旧是本人的学习记录过程。

本系列教程特点:

  • 好学易用
  • 案例实操多

哪些读者可以使用:

  • 了解机器学习的基本术语
  • 会Python语言
  • 会numpy和pandas库的使用

sklearn小抄

在愉悦的做一个调包侠之前,老衲给予施主一份绝世宝典(sklearn小抄),之后你的任督二脉将会打开,在sklearn调包的路上所向披靡。首先上宝典,高清pdf请前往此处下载:
(链接:https://pan.baidu.com/s/12c0CIP6c6rgc4Y5zEnUJxA 密码:13au)。

img_0b7f77eeb61b1d39da39725aebf0a1f2.png
数据导入

sklearn支持的数据格式有numpy数组和pandas的DataFrame格式,当然,sklearn也提供了一些数据集,通过下面代码可以导入数据集(具体数据集见后文)。

from sklearn import datasets
数据预处理

“garbage in garbage out”,一个好的模型很大程度上基于一个干净有效的源数据,所以在训练模型之前,需要针对已有数据进行清洗和处理。数据预处理的方法有很多:数据的缺失值清洗;数据标准化/中心化/归一化;哑编码;生成多项式特征等等,这个需要根据具体的数据进行相对应的处理。

模型选择

针对不同的问题需要选择不同的模型,有label标签且为离散值的为分类,有label标签且为连续值的是回归,无label的就要用无监督的方法了。但针对某个特定问题,如何选择算法了,可以看下图。
但很不幸的是:“没有免费的午餐定理”告诉我们,脱离具体问题去讨论选择什么算法更好是毫无意义的,在现实建模中,我们通过多个模型比较评估结果来选择最终模型。

img_d8d479d57d050e32c1d77bb859d61ce2.png
模型训练

在模型训练前,需要将数据集切分为训练集和测试集(73开或者其它)。sklearn训练模型很简单,在具体实例中讲解。

模型测试

针对不同类模型,模型的评价指标都不同,具体可看小抄和sklearn.metrics模块。在模型测试中,我们常常使用交叉验证的方法。

模型优化

模型一般都是有很多参数的,如何选择最优的参数,可使用网格搜索和随机参数优化。

tips

针对各个过程的详细介绍,会在具体案例中讲解。

相关文章
|
人工智能 自然语言处理 搜索推荐
AI原生企业级Agent构建平台具备哪些特性?一篇文章看明白
AI原生企业级Agent构建平台有哪些特性?澜码正式发布AskXBOT平台为业界揭晓答案。
831 0
用xls制作每位学生的成绩折线图,学生成绩趋势一目了然!
当我们想看清每位同学的成绩浮动情况时,就相当麻烦。
4408 0
|
人工智能 数据挖掘
这图怎么画| 气泡热图(基因表达泛癌分析)
这图怎么画| 气泡热图(基因表达泛癌分析)
351 0
|
Web App开发 小程序 Android开发
Appium微信小程序自动化环境准备
Appium微信小程序自动化环境准备
536 1
|
人工智能 API Python
Openai python调用gpt测试代码
这篇文章提供了使用OpenAI的Python库调用GPT-4模型进行聊天的测试代码示例,包括如何设置API密钥、发送消息并接收AI回复。
|
移动开发 JavaScript 开发工具
微信浏览器内 h5 直接唤醒 app 之 微信开放标签 wx-open-launch-app
微信浏览器内 h5 直接唤醒 app 之 微信开放标签 wx-open-launch-app
|
Python
Langchain使用OpenAI报错AttributeError: module ‘openai‘ has no attribute ‘error 的解决方案
这篇文章描述了作者在使用Python的`openai`和`langchain`库时遇到的错误,错误的提示是`AttributeError: module 'openai' has no attribute 'error'`。文章通过分析环境和版本信息,发现问题出在`langchain`库的版本过旧。作者通过卸载旧版本并安装指定版本的`langchain`库解决了问题,并总结了在遇到此类问题时检查和更新依赖库的重要性。
2001 2
|
人工智能 自然语言处理 API
【LangChain系列】第三篇:Agent代理简介及实践
【5月更文挑战第17天】LangChain代理利用大型语言模型(LLM)作为推理引擎,结合各种工具和数据库,处理复杂任务和决策。这些代理能理解和生成人类语言,访问外部信息,并结合LLM进行推理。文章介绍了如何通过LangChain构建代理,包括集成DuckDuckGo搜索和维基百科,以及创建Python REPL工具执行编程任务。此外,还展示了如何构建自定义工具,如获取当前日期的示例,强调了LangChain的灵活性和可扩展性,为LLM的应用开辟了新途径。
1035 0
java的事件驱动如何实现
java的事件驱动如何实现
|
缓存 Java 应用服务中间件
苍穹外卖知识点总结(springboot)
苍穹外卖知识点总结(springboot)
2927 0