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学习笔记之岭回归
岭回归 岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息.降低精度为代价获得回归系数更为符合实际.更可靠的回归方法,对病 ...
随机推荐
- Windows设置一键安装Mysql数据库的方法
Windows设置一键安装Mysql数据库的方法 前言 因为MySQL数据库的8126 65536 以及3072最大索引长度等问题 研发这边提交的补丁总是出现稀奇古怪的问题. mysql数据库又因为D ...
- PG数据库异步流复制
PG数据库异步流复制 背景说明 最近想进行一个数据库高可用课题的研究. 因为之前某种原因,这次选择的是PG数据库. 为了简单起见, 暂时采用PG异步流复制的场景. 这次仅是为了测试, 不考虑高可用绿色 ...
- 参照DefenseGrid在Unity中实现合理的塔防寻路机制
前言 在一款TD游戏中,最重要的单位就两大类:防御塔(Tower)和敌人单位(Enemy).在处理敌人单位的AI行为时,最基本也是最重要的就是自动寻路.在各式TD游戏中,防御塔的攻击方式以及敌人单位的 ...
- chrome谷歌浏览器多开(独立环境 独立cookie)
复制下面代码(路径) "C:\Program Files\Google\Chrome\Application\chrome.exe" --user-data-dir="D ...
- python代码的tab和空格缩进互转
代码规范 在我们项目中python代码使用tab缩进,并统一大家的编辑器设置. 如果同一个python文件中即有空格又有tab缩进,那么运行此文件会报错. 关于使用空格还是tab,这里就不展开讨论了, ...
- Docker 安装 Nacos 注册中心
废话不多说直接上安装脚本: 在运行安装脚本之前,首先,我们查看一下 Nacos 的版本分别有哪些使用 docker search nacos: 然后在执行: docker pull nacos/nac ...
- Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--加载字体
项目地址: Pdfium.Net:https://github.com/1000374/Pdfium.Net PdfiumViewer:https://github.com/1000374/Pdfiu ...
- LeetCode刷题日记 2020/8/28
题目描述: 最长有效括号 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 ...
- 【OpenCV】在Linux上使用OpenCvSharp
前言 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Androi ...
- Nginx的反向代理做负载均衡
对于一个大型网站,随着网站的访问量快速增长,单台服务器很难再支撑起需要,所以我们会购置多个服务器来满足业务量的需求,然后再利用Nginx提供的反向代理功能,来实现多台服务器间的协作功能,提高网站的处理 ...