ai-2、機器學習之線性回歸

機器學習之線性回歸

  • 1、機器學習
  • 2、線性回歸
    • 2.1、梯度下降法
  • 3、python下調用scikit-learn

1、機器學習

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2、線性回歸

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
####所以y可以當成我們需要的結果,根據公式可以求的y一撇的值更小,所以更接近需要的結果,所以y一撇擬合性更好

2.1、梯度下降法

在這里插入圖片描述
在這里插入圖片描述

已知:
J = f ( ( (p ) ) ) = 3.5p 2 ^2 2-14p+14
p i _i i? = 0.5 , α \alpha α = 0.01
p i + 1 _{i+1} i+1?= ??

∵ \because 一元二次函數 f ( ( (p ) ) ) = ap 2 ^2 2-bp+c的冪函數求導公式
f ( ( (x ) ) ) = x a ^a a -> f ′ f\prime f( x x x) = ax a ? 1 ^{a-1} a?1

∵ \because
3.5p 2 ^2 2其導數為2*3.5p ( 2 ? 1 ) ^{(2-1)} (2?1) = 7p

-14p其導數為-14*p ( 1 ? 1 ) ^{(1-1)} (1?1)=-14

14為常數項導數為0

∵ \because 3.5p 2 ^2 2-14p+14的導數是7p-14

∴ \therefore α \alpha α δ δ p i \frac{\delta}{\delta p_i} δpi?δ?f ( ( (p i _{i} i? ) ) ) = 7p-14

∵ \because p i _i i? = 0.5

∴ \therefore 代入 α \alpha α δ δ p i \frac{\delta}{\delta p_i} δpi?δ?f ( ( (p i _{i} i? ) ) )=7*0.5-14=-10.5

∴ \therefore 損失函數J = 0.5-0.01*(-10.5) = 0.605

∴ \therefore 損失函數梯度值為0.605
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

3、python下調用scikit-learn

在這里插入圖片描述
https://scikit-learn.org/stable/

在這里插入圖片描述
可以用簡短的代碼求解模型

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

import numpy as np
from sklearn.linear_model import LinearRegression
# 獲取數據
x = [1,2,3,4,5,6,7,8,9,10]
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
X = x.reshape(-1, 1)
y = np.array([7,9,11,13,15,17,19,21,23,25])
# 尋找a、b(y = ax + b)
lr_model = LinearRegression()
lr_model.fit(X,y)# 展示a、b
a = lr_model.coef_
b = lr_model.intercept_#打印系數a和截距b
print("系數a",a)
print("截距b",b)#對新數據進行預測
x_new = np.array([11,12])
X_new = x_new.reshape(-1, 1)
predictions = lr_model.predict(X_new)#打印預測數據
print("預測數據是:",predictions)

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

import numpy as np
from sklearn.linear_model import LinearRegression
# 獲取數據
x = [1,2,3,4,5,6,7,8,9,10]
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
X = x.reshape(-1, 1)
y = np.array([7,9,11,13,15,17,19,21,23,25])
# 尋找a、b(y = ax + b)
lr_model = LinearRegression()
lr_model.fit(X,y)# 展示a、b
a = lr_model.coef_
b = lr_model.intercept_#打印系數a和截距b
print("系數a",a)
print("截距b",b)#對新數據進行預測
x_new = np.array([0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,11])
X_new = x_new.reshape(-1, 1)
predictions = lr_model.predict(X_new)#打印預測數據
print("預測數據是:",predictions)from sklearn.metrics import mean_squared_error,r2_score
MSE = mean_squared_error(y,predictions)
R2 = r2_score(y,predictions)#打印均方差,r方值
print("MSE:",MSE)
print("R2:",R2)#畫圖對比y/ 和y可視化模型表現
from matplotlib import pyplot as plt
plt.scatter(y,predictions)

在這里插入圖片描述
matplotlib繪制散點圖
在這里插入圖片描述

#繪制散點圖import matplotlib.pyplot as plt# 生成示例數據
np.random.seed(42)
x_values = np.random.rand(100)
y_values = x_values + np.random.randn(100) * 0.1  # 繪制散點圖
plt.scatter(x_values, y_values, color='blue', marker='o')  # color參數定義點的顏色,marker定義點的形狀# 設置matplotlib的字體為微軟雅黑,確保你的系統中已安裝此字體,避免中文亂碼問題
plt.rcParams['font.family'] = 'Microsoft YaHei'
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']  # 用于正常顯示中文標簽
# 解決保存圖像時負號'-'顯示為方塊的問題
plt.rcParams['axes.unicode_minus'] = False# 添加標題和標簽
plt.title('散點圖')  # 添加標題
plt.xlabel('X軸')  # X軸標簽
plt.ylabel('Y軸')  # Y軸標簽# 顯示圖表
plt.show()

多張散點圖展示

#散點圖多張圖同時展示import matplotlib.pyplot as plt# 生成示例數據
np.random.seed(42)
x_values = np.random.rand(100)
y_values = x_values + np.random.randn(100) * 0.1# 如果需要四張圖則創建一個2x2的子圖布局
for i in range(1, 5):  # 因為是從1開始計數,所以要到5(包括)plt.subplot(2, 2, i)  # 2行2列的布局,當前是第i個子圖plt.scatter(x_values, y_values, color='blue', marker='p')

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/72078.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/72078.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/72078.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Flutter 學習之旅 之 flutter 在 Android 端進行簡單的打開前后相機預覽 / 拍照保存

Flutter 學習之旅 之 flutter 在 Android 端進行簡單的打開前后相機預覽 / 拍照保存 目錄 Flutter 學習之旅 之 flutter 在 Android 端進行簡單的打開前后相機預覽 / 拍照保存 一、簡單介紹 二、簡單介紹 camera 三、安裝 camera 四、簡單案例實現 五、關鍵代碼 一、簡單…

【原創】Open WebUI 本地部署

使用官網的默認部署,遇到不少的問題。比如白屏問題,其實需要修改幾個參數即可。 其實在部署的時候有不少參數 WEBUI_AUTH False ENABLE_OPENAI_API 0 PATH /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LANG C.UTF-8…

【造個輪子】使用Golang實現簡易令牌桶算法

本文目錄 1. 令牌桶算法2. 調用第三方庫實現令牌桶3. 手撕令牌桶 前言:之前在Bluebell社區項目中,我們使用了開源的庫來實現令牌桶限流,這次我們試著使用Go來手撕實現下令牌桶算法。 1. 令牌桶算法 為了防止網絡擁塞,需要限制流…

C#開發的Base64編碼及解碼完整源碼及注意事項

在軟件開發時,經常用Base64編碼和解碼功能。本文介紹一個簡單易用的Base64 編碼和解碼工具,顧名思義,就是簡單快捷地進行 Base64 代碼的解碼或編碼操作。您的數據可以輕松地編碼為 Base64 編碼,也可以解碼為可讀的格式。傳輸數據時…

【Linux第一彈】Linux基礎指令(上)

目錄 1.ls指令 1.1 ls使用實例 2.pwd指令 3.cd指令 3.1 cd使用實例 4.touch指令 4.1touch使用實例 5.mkdir指令 5.1mkdir使用實例 6.rmdir指令和rm指令 6.1 rmdir指令使用實例->: 6.2 rm指令使用實例 7.man指令 8.cp指令 8.1 cp 使用實例 9.mv指令 9.1mv使用…

RabbitMQ系列(七)基本概念之Channel

RabbitMQ 中的 Channel(信道) 是客戶端與 RabbitMQ 服務器通信的虛擬會話通道,其核心作用在于優化資源利用并提升消息處理效率。以下是其核心機制與功能的詳細解析: 一、Channel 的核心定義 虛擬通信鏈路 Channel 是建立在 TCP 連…

Zookeeper(80)Zookeeper的常見問題有哪些?

Zookeeper作為分布式系統的協調服務,常見的問題主要集中在配置、性能、連接管理、數據一致性和節點故障等方面。以下是一些常見問題及其詳細解決方法和代碼示例。 1. 配置問題 問題描述 配置不當可能導致 Zookeeper 集群無法正常啟動或運行效率低下。 解決方法 …

如何管理路由器

一、管理路由器的必要性 1、需要修改撥號上網的密碼。 2、需要修改WIFI的SSID名字和密碼。 3、設置DHCP協議信息。 4、設置IP地址的過濾規則。 5、給某個設備連接設置網絡限速。 二、常見的方式 (一)web網頁方式 1、計算機用雙絞線或者WIFI的方式連接路由器。 2、在計算機中打開…

linux vim 撤銷 回退操作

在Linux的vim編輯器中,撤銷和回退操作是非常基本的,但它們可以通過不同的方式實現,具體取決于你想要的精確效果。下面是一些常用的方法: 1. 撤銷(Undo) 單個撤銷: 你可以通過按下u鍵來撤銷上一…

淺談流媒體協議以及視頻編解碼

流媒體協議介紹 流媒體協議用于傳輸視頻、音頻等多媒體數據,確保數據流暢地傳輸到用戶設備。常見的流媒體協議包括 RTMP、HLS、DASH、WebRTC 等,每種協議具有不同的特點和適用場景。 1. RTMP (Real-Time Messaging Protocol) 定義:由 Adob…

AF3 DataPipeline類process_multiseq_fasta 方法解讀

AlphaFold3 data_pipeline 模塊DataPipeline類的 process_multiseq_fasta 方法用于處理多序列 FASTA 文件,生成 AlphaFold3 結構預測所需的特征,適用于多鏈復合物的預測。它結合了 Minkyung Baek 在 Twitter 上提出的“AlphaFold-Gap”策略,即通過在多鏈 MSA 中插入固定長度…

圖片爬取案例

修改前的代碼 但是總顯示“失敗” 原因是 修改之后的代碼 import requests import os from urllib.parse import unquote# 原始URL url https://cn.bing.com/images/search?viewdetailV2&ccidTnImuvQ0&id5AE65CE4BE05EE7A79A73EEFA37578E87AE19421&thidOIP.TnI…

使用自動化運維工具 Ansible 集中化管理服務器

一、概述 Ansible 是一款為類 Unix 系統開發的自由開源的配置和自動化工具 官方網站:https://www.ansible.com/ Ansible 成立于 2013 年,總部設在北卡羅來納州達勒姆,聯合創始人 ad Ziouani 和高級副總裁 Todd Barr都是紅帽的老員工。Ansible 旗下的開源軟件 Ansible 十分…

CMU15445(2023fall) Project #2 - Extendible Hash Index 匠心分析

胡未滅,鬢已秋,淚空流 此生誰料 心在天山 身老滄州 ——訴衷情 完整代碼見: SnowLegend-star/CMU15445-2023fall: Having Conquered the Loftiest Peak, We Stand But a Step Away from Victory in This Stage. With unwavering determinati…

P1706 全排列問題

題目描述 按照字典序輸出自然數 1 到 n 所有不重復的排列,即 n 的全排列,要求所產生的任一數字序列中不允許出現重復的數字。 輸入格式 一個整數 n。 輸出格式 由 1~n 組成的所有不重復的數字序列,每行一個序列。 每個數字保留 5 個場寬。…

會話與會話管理:Cookie與Session的深度解析

一、什么是會話? 二、Cookie:客戶端存儲技術 1. Cookie的工作原理 2、在后端設置cookie 3、在前端設置cookie 三、瀏覽器開啟了cookie禁用怎么辦? 一、什么是會話? 會話(Session)是指一個用戶與服務器之間…

【Linux系統】—— 馮諾依曼體系結構與操作系統初理解

【Linux系統】—— 馮諾依曼體系結構與操作系統初理解 1 馮諾依曼體系結構1.1 基本概念理解1.2 CPU只和內存打交道1.3 為什么馮諾依曼是這種結構1.4 理解數據流動 2 操作系統2.1 什么是操作系統2.2 設計OS的目的2.3 操作系統小知識點2.4 如何理解"管理"2.5 系統調用和…

算法-二叉樹篇15-最大二叉樹

最大二叉樹 力扣題目鏈接 題目描述 給定一個不重復的整數數組 nums 。 最大二叉樹 可以用下面的算法從 nums 遞歸地構建: 創建一個根節點,其值為 nums 中的最大值。 遞歸地在最大值 左邊 的 子數組前綴上 構建左子樹。 遞歸地在最大值 右邊 的 子數組后綴上 構建…

運維Apache面試題及參考答案

目錄 簡述 Apache Web 服務器的主要特點及適用場景 Apache 的默認監聽端口是什么?如何修改為其他端口? Apache 的主配置文件名稱及路徑是什么?不同 Linux 發行版的默認路徑有何差異? 解釋 Apache 的 MPM(Multi-Processing Module)機制,列舉常見的工作模式(如 prefor…

51c自動駕駛~合集52

我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未來的千萬種可能 駕駛世界模型(DWM),專注于預測駕駛過程中的場景演變,已經成為追求自動駕駛的一種有前景的范式。這些方法使自動駕駛系統能夠更…