sklearn学习笔记之线性回归
AI时代扑面而来,在大众面对ChatGPT和Sora发出无数惊叹号的时候,我决定不再只当一个AI时代的API调用者,而是去学习机器学习技术本身。
刚好公司也要往人工智能方向发展的计划,于是我开始从基础学习,发现了一个宝藏开源机器学习库:scikit-learn。
scikit-learn文档健全,社区生态非常完善,这也是我选择它进行学习的原因之一。它不仅提供了大量机器学习的算法实现和强大模型,还为开发者提供了数据生成和处理的函数,方便针对中小型数据(千万级以下数据)进行预测和分析。
机器学习根据数据的类型和学习任务不同大体分为监督学习、非监督学习、半监督学习、强化学习。
监督学习:
在监督学习中,算法接收到带有标签(或者目标)的训练数据,它的任务是学习一个从输入到输出的映射关系,以便对未标记的数据进行预测或分类。因此,监督学习的关键特征是训练数据集包含输入和对应的期望输出。这种期望输出可以是类别标签(分类任务)或连续值(回归任务)。
非监督学习:
在非监督学习中,算法接收到的训练数据没有任何标签信息,它的任务是从数据中发现隐藏的结构或模式。非监督学习的目标通常包括聚类(将数据划分为不同的组别)、降维(减少数据的维度以便更好地可视化或压缩数据)、关联规则挖掘等。
半监督学习:
半监督学习结合了监督学习和非监督学习的元素。在这种情况下,数据集中只有一小部分数据带有标签,而大多数数据是未标记的。半监督学习的目标是利用标记数据和未标记数据来提高模型的性能。
强化学习:
强化学习与监督学习和非监督学习有所不同,它涉及到代理与环境的交互,并根据执行的动作而获得的奖励或惩罚来学习最优策略。强化学习的目标是使代理在特定任务中获得最大的长期奖励。
最简单的一种回归任务就是线性回归,我就从这个学习任务开始入手。
线性回归就是一种分析方法,用来看看输入特征和输出目标之间是不是有线性关系。比如一个人的体重增加,和他每天摄入的能量以及消耗的能量有线性关系。
那么进行编程时间,首先安装scikit-learn库,可以使用pip命令如下:
pip install scikit-learn
下面是一个线性回归的简单案例:
from sklearn.linear_model import LinearRegression
import numpy as np
# Sample data
X = np.array([[1], [2], [3], [4], [5]]) # Input feature
y = np.array([2, 3.5, 2.8, 4.6, 5.2]) # Output target
# Create a linear regression model
model = LinearRegression()
# Fit the model to the data
model.fit(X, y)
# Make predictions
X_new = np.array([[6], [7]]) # New data for prediction
predictions = model.predict(X_new)
print("Predictions:", predictions)
执行这段代码,输出值为:
Predictions: [5.87 6.62]
看起来似乎有点意思,但是我们怎么才知道这个预测是否准确呢?
sklearn学习笔记之线性回归的更多相关文章
- sklearn学习笔记之简单线性回归
简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项.线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误 ...
- CNN学习笔记:线性回归
CNN学习笔记:Logistic回归 线性回归 二分类问题 Logistic回归是一个用于二分分类的算法,比如我们有一张图片,判断其是否为一张猫图,为猫输出1,否则输出0. 基本术语 进行机器学习,首 ...
- TensorFlow 学习笔记(1)----线性回归(linear regression)的TensorFlow实现
此系列将会每日持续更新,欢迎关注 线性回归(linear regression)的TensorFlow实现 #这里是基于python 3.7版本的TensorFlow TensorFlow是一个机器学 ...
- sklearn学习笔记3
Explaining Titanic hypothesis with decision trees decision trees are very simple yet powerful superv ...
- sklearn学习笔记2
Text classifcation with Naïve Bayes In this section we will try to classify newsgroup messages using ...
- sklearn学习笔记1
Image recognition with Support Vector Machines #our dataset is provided within scikit-learn #let's s ...
- Machine Learning 学习笔记 (1) —— 线性回归与逻辑回归
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 梯度下降法 (Gradien ...
- sklearn学习笔记
用Bagging优化模型的过程:1.对于要使用的弱模型(比如线性分类器.岭回归),通过交叉验证的方式找到弱模型本身的最好超参数:2.然后用这个带着最好超参数的弱模型去构建强模型:3.对强模型也是通过交 ...
- sklearn学习笔记(一)——数据预处理 sklearn.preprocessing
https://blog.csdn.net/zhangyang10d/article/details/53418227 数据预处理 sklearn.preprocessing 标准化 (Standar ...
- sklearn学习笔记之岭回归
岭回归 岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息.降低精度为代价获得回归系数更为符合实际.更可靠的回归方法,对病 ...
随机推荐
- [转帖]缓存与存储的一致性策略:从 CPU 到分布式系统
https://zhuanlan.zhihu.com/p/151745863 在计算机系统设计实践中,我们常常会遇到下图所示架构: 为了解决单个存储器读吞吐无法满足要求的问题,常常需要在存储器上面增加 ...
- 【转帖】sqlserver 在高并发的select,update,insert的时候出现死锁的解决办法
最近在使用过程中使用SqlServer的时候发现在高并发情况下,频繁更新和频繁查询引发死锁.通常我们知道如果两个事务同时对一个表进行插入或修改数据,会发生在请求对表的X锁时,已经被对方持有了.由于得不 ...
- 申威CPU的简单知识梳理
摘要 最近有客户要用申威服务器了 自己很早之前简单测试过相关的CPU的服务器 但是感觉很多东西都不是很系统. 今天简单收集一下资料 希望对以后的工作有所帮助 申威CPU的创始 申威是解放军总参谋部第五 ...
- Ubuntu2204设置固定IP地址
前言 Ubuntu每次升级都会修改一部分组件. 从1804开始Ubuntu开始使用netplan的方式进行网络设置. 但是不同版本的配置一直在升级与变化. 今天掉进坑里折腾了好久. 所以这边总结一下, ...
- Springboot数据库连接池的学习与了解
背景 昨天学习总结了tomcat的http连接池和线程池相关的知识,总结的不是很完整, 自己知道的也比较少,总结的时候就在想tomcat针对client 端有连接池,并且通过NIO的机制, 以较少的t ...
- windwos10-11打开任意文件弹出警告
如下打开exe或者视频.图片都弹出警告 解决方案输入快捷键win+s换出搜索框 输入Internet 选项 进入安全选项点击自定义级别 找到,加载应用程序和不安全文件 勾选启用(不安全) 然后确定-在 ...
- windows10卸载小娜
适用于2004版本往后的 win+x如图 输入如下代码 Get-AppxPackage-allusersMicrosoft.549981C3F5F10|Remove-AppxPackage 运行结束后 ...
- C#使用Elasticsearch入门
一.Elasticsearch 简介 Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例.作为 Elastic Stack 的核心,它集中 ...
- 从零开始配置vim(32)——最后再说两句
很抱歉我决定结束这个系列的内容了.原本我打算介绍markdown.orgmode相关的配置,甚至还打算介绍如何在vim 中使用 emacs 的 org-agenda 来进行日常的任务管理.但是出于一些 ...
- 从零开始配置 vim(8)——文件类型检测
在上一章介绍自动命令的时候,我们提到可以使用 FileType来根据文件类型来触发事件,但是关于文件类型并没有深入的介绍,本篇我们来补充关于文件类型相关的内容,让大家更好的理解,看不懂也没关系,你只需 ...