首页 > 其他分享 >人工智能学习之机器学习总结1

人工智能学习之机器学习总结1

时间:2023-07-29 14:11:23浏览次数:32  
标签:总结 plt linear 人工智能 学习 predicct import model

人工智能里面分机器学习和深度学习,机器学习里有线性回归,逻辑回归,聚类,深度学习里有卷积神经网络和循环神经网和多层感知器

首先学习了线性回归,其思想就是使用梯度下降算法(求导数)对a和b求导数,不断搜索迭代以求最好的线性a,b,使得预测值和真实值的差距越来越小,同时有损失函数MSE和R2 来评估模型,有scikit-learn评估模型

其使用流程一般为pandas导入数据,matplotlib绘制原始数据图,numpy将得到的原始数据转化为有维度的数组(方便使用函数预测),然后使用sclearn.LinearRegression().fit(数据)预测,多因子模型就使用loc[:]对数据切片

然后预测值可以使用对象.predict()获取,评估需要使用from sklearn.metrics import mean_squared_error,r2_score

import matplotlib
from matplotlib import pyplot as plt
#数据处理
x=[1,2,3,4,5,6,7,8,9,10]
y=[7,9,11,13,15,17,19,21,23,25]
#设置图像大小
fig1=plt.figure(figsize=(5,5))
#绘制线型图
plt.plot(x,y)
#对x,y轴设置名称
plt.xlabel("x")
plt.ylabel("y")
plt.show()

 

import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error,r2_score
#初始化对象
linear_model=LinearRegression()
#用numpy将数据转化为数组并用reshape设置维度
x=np.array(x)
x=x.reshape(-1,1)
y=np.array(y)
y=y.reshape(-1,1)
#预测模型
linear_model.fit(x,y)


#对象的predict用于预测模型的结果,预测x轴上的数据用[[0.6]]表示
y_predicct=linear_model.predict(x)
print(y_predicct)
a=linear_model.coef_
b=linear_model.intercept_
print(a,b)
[[ 7.]
 [ 9.]
 [11.]
 [13.]
 [15.]
 [17.]
 [19.]
 [21.]
 [23.]
 [25.]]
[[2.]] [5.]
MSE=mean_squared_error(y,y_predicct) R2=r2_score(y,y_predicct)
print(MSE,R2)
plt.figure()
plt.scatter(y,y_predicct)
plt.show()

 

 

 

标签:总结,plt,linear,人工智能,学习,predicct,import,model
From: https://www.cnblogs.com/copyjames/p/17589734.html

相关文章

  • 2023 年 VSCode 的 5 大人工智能扩展
    在快节奏的软件开发世界中,一项创新脱颖而出,成为真正的游戏规则改变者:人工智能(AI)。凭借其卓越的功能,人工智能彻底改变了开发人员与代码交互的方式,重塑了现代编程的格局。由于软件开发行业中新的生成AI技术的出现,VisualStudioCodeMarketplace中已经有400多个注入AI的扩展。从提......
  • JavaScript学习 -- SM3算法基本原理
    SM3算法是一种由国家密码管理局发布的哈希算法,被广泛用于数字签名和消息认证等应用中。在JavaScript中,我们可以使用第三方库来计算数据的SM3哈希值。本篇文章将介绍SM3算法的基本原理和相关技术,并提供一些实例来演示如何在JavaScript中使用SM3算法。SM3算法基本原理与MD5、SHA-1、S......
  • c语言学习笔记5
    内存空间在C语言中,内存空间可以被划分为以下几个部分:1.栈(Stack):这部分内存由编译器自动分配和释放,用于存放函数的参数值,局部变量等。其操作方式类似于数据结构中的堆栈,先进后出。2.堆(Heap):堆是用于动态内存分配的。与栈不同,堆的分配和释放必须由程序员自己操作。在C语言中,使用m......
  • day3c++学习
    1内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收......
  • 线性基学习笔记
    线性基简介线性基是一种擅长处理异或问题的数据结构.设值域为\([1,N]\),就可以用一个长度为$⌈\log_2{N}⌉$的数组来描述一个线性基。特别地,线性基第\(i\)位上的数二进制下最高位也为第\(i\)位。一个线性基满足,对于它所表示的所有数的集合\(S\),\(S\)中任意多个数异或所得的......
  • C++ Primer Plus学习笔记
    仅限main函数,如果没有返回语句,编译器会加隐含的返回语句:return0;WIN1064位系统中,sizeof(int)==sizeof(long)==4.C++17之后,新增byte数据类型,在标头<cstddef>中定义,取值范围[0-255],初始化:std::byteb{42};char取值范围[-128,127]原始字符串R"(string)"R"+*(......
  • git命令总结
    Part1gitinit --本地代码初始化后成为仓库------------------------------Part2本地仓库更新后上传到远程仓库1、gitstatus --查看本地仓库状态2、gitadd. --添加修改和变化的文件3、gitcommit-m --添加注释,备注修改点4、gitpulloriginxxx --拉取目标......
  • 解决(几乎)任何机器学习问题(1、建立你的工作环境)
    原作者:AbhishekThakur原文:GitHub-abhishekkrthakur/approachingalmost:Approaching(Almost)AnyMachineLearningProblem1、建立你的工作环境在我们开始编码之前,在你的机器上设置好一切是非常重要的。在本书中,我们将使用Ubuntu18.04和Python3.7.6。如果你是Win......
  • Meta-Transformer 多模态学习的统一框架
    Meta-Transformer是一个用于多模态学习的新框架,用来处理和关联来自多种模态的信息,如自然语言、图像、点云、音频、视频、时间序列和表格数据,虽然各种数据之间存在固有的差距,但是Meta-Transformer利用冻结编码器从共享标记空间的输入数据中提取高级语义特征,不需要配对的多模态训练......
  • 【Linux】Kali Linux 安全学习笔记(1) - Docker Kali 部署与安装软件
    由于最近要做安全方面的工作,经网友们的推荐选定了kalilinux作为实施平台。但vm直装的方式太过麻烦了,本次kalilinux将采用docker镜像的方式进行部署使用。直接使用run运行命令启动rolling镜像,若镜像不存在,docker会自动进行checkout到本地,如下图:dockerrun-itkal......