首页 > 其他分享 >sklearn学习笔记之线性回归

sklearn学习笔记之线性回归

时间:2024-02-25 20:22:37浏览次数:19  
标签:scikit 笔记 学习 监督 learn 线性 model 数据 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]

看起来似乎有点意思,但是我们怎么才知道这个预测是否准确呢?

标签:scikit,笔记,学习,监督,learn,线性,model,数据,sklearn
From: https://www.cnblogs.com/freephp/p/18032898

相关文章

  • 【机器学习算法】KNN鸢尾花种类预测案例和特征预处理。全md文档笔记(已分享,附代码)
    本系列文章md笔记(已分享)主要讨论机器学习算法相关知识。机器学习算法文章笔记以算法、案例为驱动的学习,伴随浅显易懂的数学知识,让大家掌握机器学习常见算法原理,应用Scikit-learn实现机器学习算法的应用,结合场景解决实际问题。包括K-近邻算法,线性回归,逻辑回归,决策树算法,集成学习,聚......
  • 机器学习 (周志华西瓜书)笔记
    2.模型评估与选择2.1泛化能力模型在未见样本上表现好评价模型性能时,我们更希望他泛化能力强2.2过拟合和欠拟合泛化误差:在未来样本上的误差经验误差(训练误差):在训练集上的误差过拟合Overfitting:把不该学的学进去了机器学习关键:怎样缓解Overfitting2.3三大问题2.3.1评......
  • Programming Abstractions in C阅读笔记:p293-p302
    《ProgrammingAbstractionsinC》学习第73天,p293-p302总结,总计10页。一、技术总结1.时间复杂度(1)quadratictime(二次时间)p293,AlgorithmslikeselectionsortthatexhibitO(N^2)performancearesaidtoruninquadratictime。2.线性查找(linearsearch)p293,B......
  • 《系统科学方法概论》第3章读书笔记
    既然是信息方法,那就避免不了通信方式在古代时通信就成为了不可须臾离开的东西。那时候要从事各种社会活动,所以要交流。而如今现代通信理论深农信息论也创立起来了。它的发展包括现代通信技术进步的基本内容和正在形成中的广义信息论。既然这样,那么什么是信息和信息量呢?信息这个词......
  • Note - border 听课笔记
    border是什么?记住了,border是可以吃的。好吃好吃。为什么这么......
  • 《系统科学方法概论》第2章读书笔记
    第2章介绍了什么是系统工程?系统工程就是以组织建立或者是经营管理某一系统为目的的工程。它具有复杂程度高。有一个目标体系具有定量化特征,最优化特征程序化特征,用范围广等优点。同时系统工程发展史也是很长的。虽然他是20世纪的产物,但他的基本思想却早在古代的一些工程实践中就已......
  • Java学习笔记(1)
    常用DOS指令helloworld勾选文件扩展名创建.txt文件去掉.class后缀,运行java的执行原理组成跨平台使用IDEA创建项目之后直接编写代码使用Scanner接收输入数组静态初始化形式要注意数组的访问代码演示:publicclassMain{publicstaticvoidmain(......
  • 《系统科学方法概论》第1章读书笔记
    系统方法涉及到古代的跟现代的系统观念,它是经过很长时间的一段学习和进化产生到现在的现代系统概念。它包括活力论观点和机械论观点和还原论观点以及机体系统论观点。而我们也对系统进行了定义。系统就是指一定部分组成的具有一定层次和结构,并与环境发生关系的整体。系统的属性包......
  • 《程序是怎样跑起来的》第11章读书笔记
    第11章先提出了问题应用程序是否与硬件有关。操作系统还是为应用程序提供了间接访问硬件的方法,那就是使用系统调用在windows系统中系统调用也被称为API,每个AI都是一个能够被应用程序调用的函数,这些函数的本体位于dll文件中那么计算机主体上用于连接显示器键盘等外部设备的接口。这......
  • 《程序是怎样跑起来的》第12章读书笔记
    来到了这本书的最后一章。如何让计算机学习,那么什么是机器学习机器学习指的是让计算机这种机器来学习。在机器学习中程序员只编写用于学习的程序。这个程序的内容是让计算机读取大量的数据,然后学习这些数据的特征并生成一个识别模型这里模型指的是识别机制。机器学习也有很多方法......