基于python向量機算法的數據分析與預測

3.1 數據來源信息

該數據集來源于Kaggle網站,數據集中包含了羅平菜籽油的銷售數據每行數據對應一條記錄,記錄了羅平菜籽油銷售數據。其中,菜籽產量、菜籽價格和菜籽油價格是數值型數據,共2486條數據。

通過讀取Excel文件并進行數據預處理,本文可以利用這些數據來進行羅平菜籽油銷售數據的分析和預測。部分數據如下圖3-1所示:

圖3-1數據詳情

3.2數據預處理

數據預處理的目的是清洗和準備數據,使其適用于后續的分析和建模。通過刪除缺失值和異常值,可以提高數據的質量和準確性,避免錯誤的影響。而標準化則可以消除不同特征之間的尺度差異,使得模型能夠更好地對特征進行學習和預測。通過這些數據預處理方法,本文可以得到更加干凈、準確和可靠的羅平菜籽油銷售數據集,為后續的分析和建模奠定基礎。數據預處理階段使用了以下幾個方法來處理羅平菜籽油銷售數據。

缺失值處理,通過使用統計空值方法檢查每個字段是否存在缺失值,并使用dropna()方法刪除包含缺失值的行。這樣可以確保數據的完整性和準確性,避免在后續分析中對缺失值進行處理時引入偏差。異常值處理,首先計算每個字段的均值和標準差,然后根據均值加減3倍標準差的范圍確定異常值的上下界,將超出該范圍的數據點刪除。這樣可以有效去除異常值的影響,使得后續分析更加穩定和可靠。數據標準化,使用標準化函數對特征進行標準化處理,將菜籽產量和菜籽價格的數據進行歸一化,消除不同特征之間的尺度差異。同時,將菜籽油價格轉換為千克單位,以便更好地適應實際應用場景。標準化可以使得數據具有零均值和單位方差,使得模型訓練過程更加穩定且更容易收斂。

3.2.1缺失值處理

使用統計空值方法檢測每個字段是否存在缺失值。該方法返回一個布爾型的一維對象,其中缺失值對應的位置為True,非缺失值對應的位置為False。

使用刪除空值方法刪除包含缺失值的行。該方法會刪除數據集中存在缺失值的所有行,并在原數據集上進行修改,即對數據集進行了操作。缺失值處理前如下圖3-2:

圖3-2缺失值處理前

通過這些步驟,可以實現對數據集中缺失值的處理。首先,通過檢測每個字段是否存在缺失值,可以了解到數據集中哪些字段存在缺失值。然后,使用刪除空值方法,將包含缺失值的行從數據集中刪除,以保證數據的完整性和準確性。

3.2.2異常值處理

通過循環遍歷數據集的每一列,獲取列名列表。對于每一列,首先計算其均值和標準差,使用平均值和標準差方法來計算,確定異常值的上下界。根據均值加減3倍標準差的范圍,使用循環遍歷數據集中的每一行,檢查每個字段的取值是否超出了異常值的上下界。如果某個字段的取值超出了上下界,則將該行數據從數據集中刪除,使用刪除空值方法進行刪除操作。

通過重新設置索引,對數據集的索引進行重新排序,以保證索引的連續性和正確性。

通過以上步驟,可以實現對數據集中異常值的處理。具體地,通過計算均值和標準差,確定異常值的上下界,然后遍歷數據集中的每一行,檢查每個字段的取值是否超過上下界,如果超出則刪除該行數據。這樣可以有效去除異常值的影響,使得數據更加可靠和準確。異常值處理結果如下圖3-4所示:

3.2.3數據標準化

數據標準化的實現包括以下幾個步驟:

通過定位列分別獲取特征和目標列。這里假設特征列位于數據集的前面,目標列位于最后一列。使用標準化函數創建一個標準化器對象stand。調用標準化器對象的特征進行標準化處理,將其轉換為均值為0、方差為1的標準正態分布,同時進行擬合和轉換操作。將目標列中的數據進行單位轉換,以便更好地適應實際應用場景。在這個例子中,將菜籽油價格從千克轉換為噸,即將每個值除以1000。

4.1 SVM模型構建

SVM 模型實現流程圖如下圖4-1所示:

圖4-1模型實現流程

4.1.1?SVM模型構建原理

SVM 模型構建原理:

數據準備:準備羅平菜籽油銷售數據集,包括特征(銷售量、銷售時間等)和目標變量(銷售額等)。

特征工程:對數據進行特征選擇、處理和轉換,確保特征數據符合 SVM 模型的要求。

SVM 模型訓練:使用羅平菜籽油銷售數據集訓練 SVM 模型,選擇合適的核函數(如線性核、多項式核或高斯核)。

模型優化:調整 SVM 模型的超參數(如懲罰系數 C、核函數參數等),以獲得最佳的模型性能。

模型評估:使用交叉驗證等方法評估模型的性能,確保模型具有較好的泛化能力。

4.1.2?SVM模型評價指標

在 SVM 模型中,評價指標包括:準確率(Accuracy):(分類正確的樣本數占總樣本數的比例。精確率(Precision):預測為正類別且分類正確的樣本數占預測為正類別的樣本數的比例。召回率(Recall):預測為正類別且分類正確的樣本數占實際正類別的樣本數的比例。F1 分數(F1 Score):精確率和召回率的調和平均數,綜合考慮了模型的準確性和召回性能。

其公式如下:

1準確率(Accuracy)

其中,TP 表示真正例(True Positive)、TN 表示真負例(True Negative)、FP 表示假正例(False Positive)、FN 表示假負例(False Negative)。

2精確率(Precision)

2召回率(Recall)

4F1 分數(F1 Score)

這些評價指標可以幫助評估分類模型的性能,并提供關于模型在正例和負例分類方面的表現的詳細信息。綜合考慮精確率和召回率可以更全面地評估模型的性能。

4.2模型評估

對模型進行評估的過程如下所示:使用測試集的特征數據進行預測,將預測結果存儲變量中。然后,使用一些評估指標來評估模型的性能。包括均方誤差、平均絕對誤差和決定系數),分別計算了預測結果與實際結果之間的均方誤差、平均絕對誤差和決定系數。最后,根據評估結果,可以判斷模型的擬合效果和預測準確度。均方誤差和平均絕對誤差越小,表示模型的預測結果與實際結果越接近;決定系數越接近1,表示模型對觀測數據的擬合程度越好。評估結果如下圖4-2所示:

圖4-2評估結果

根據給定的評估結果,可以得出以下結論:

根據羅平菜籽油銷售數據的分析結果顯示,經過對 SVM 模型進行參數優化后,得到最佳參數組合為 C=0.1、epsilon=0.3、gamma='scale'、kernel='linear',對應的最佳 R2 得分為 0.9849。這意味著該 SVM 模型能夠解釋目標變量約 98.49% 的銷售數據方差,具有較高的預測精度。進一步觀察不同參數組合的評估結果發現,線性核函數在不同參數下的 R2 得分普遍較高,而徑向基核函數的 R2 得分相對較低。參數 C 和 epsilon 對模型性能影響較小,而參數 gamma 的取值對模型性能有一定影響,較小的 gamma 值會導致模型 R2 得分下降。綜合來看,經過優化的 SVM 模型在分析羅平菜籽油銷售數據方面表現出色,具有較高的預測準確性和穩定性。最終優化后結果如下圖4-3所示:

圖4-3優化后結果

根據圖4-2中羅平菜籽油銷售數據的預測值和測試值的折線對比圖,可以得出以下結論:

(1)模型預測值與實際測試值整體趨勢一致,說明經過優化的 SVM 模型能夠較好地擬合銷售數據的變化趨勢。

(2)預測值與測試值之間的偏差較小,表明該 SVM 模型在預測羅平菜籽油銷售數據時具有較高的準確性和穩定性。

(3)隨著時間的推移,預測值與測試值之間的偏差保持在較小的范圍內,說明該模型對于未來銷售數據的預測具有一定的可靠性和穩定性,為銷售預測和決策提供了可靠的參考依據。

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

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

相關文章

SpringBootWeb 篇-深入了解 Mybatis 概念、數據庫連接池、環境配置和 Lombok 工具包

🔥博客主頁: 【小扳_-CSDN博客】 ?感謝大家點贊👍收藏?評論? 文件目錄 1.0 Mybatis 概述 2.0 數據庫連接池 2.1 數據庫連接池的主要作用包括 2.2 如何切換數據庫連接池? 3.0 配置環境 4.0 Lombok 工具包 4.1 如何導入到項目中呢…

Transformer詳解(3)-多頭自注意力機制

attention multi-head attention pytorch代碼實現 import math import torch from torch import nn import torch.nn.functional as Fclass MultiHeadAttention(nn.Module):def __init__(self, heads8, d_model128, droput0.1):super().__init__()self.d_model d_model # 12…

比較含退格的字符串-力扣

做這道題時出現了許多問題 第一次做題思路是使用雙指針去解決&#xff0c;快慢指針遇到字母則前進&#xff0c;遇到 # 則慢指針退1&#xff0c;最開始并未考慮到 slowindex < 0 ,從而導致越界。第二個問題在于&#xff0c;在最后判斷兩個字符串是否相同時&#xff0c;最初使…

力扣HOT100 - 31. 下一個排列

解題思路&#xff1a; 數字是逐步增大的 步驟如下&#xff1a; class Solution {public void nextPermutation(int[] nums) {int i nums.length - 2;while (i > 0 && nums[i] > nums[i 1]) i--;if (i > 0) {int j nums.length - 1;while (j > 0 &&…

Linux中“用戶管理”

我們linux中是靠用戶登陸的&#xff0c;每一個用戶都是唯一的&#xff0c;不可重復的&#xff0c;也是標識2計算機上的資源歸屬&#xff0c;那么它Linux中關聯什么作用我們詳細了解一下&#xff1a; 一、了解用戶 &#xff08;1&#xff09;保存用戶的位置 保存賬號和密碼的數…

Tina-Linux -- 5. 網絡通信(有線網絡,無線網絡,SSH鏈接)

有線網絡 bash 指令 ifconfig eth0 192.168.2.222 netmask 255.255.255.0 up route add default gw 192.168.2.1開機自啟 修改網絡設置文件 /etc/init.d/S40network #!/bin/sh # # Start the network.... ## Debian ifupdown needs the /run/network lock directory mkdir …

視頻碼流分析工具

一、VQ Analyzer 在線使用說明&#xff1a; https://vicuesoft.com/vq-analyzer/userguide/ ref&#xff1a; Video Analyzer and Streaming Tester Software – VQ Analyzer HEVC 分析工具 - 懶人李冰 推薦一個開源且跨平臺的免費碼流分析軟件YUView - 知乎

企業管理咨詢在當前市場環境下的基本現狀

隨著全球經濟的深度融合和數字化轉型的加速推進&#xff0c;企業對于高效、專業的管理咨詢服務的需求日益旺盛。那么&#xff0c;企業管理咨詢在當前市場環境下究竟呈現出了怎樣的基本現狀呢&#xff1f; 首先&#xff0c;從市場規模來看&#xff0c;企業管理咨詢行業正在持續擴…

網絡設備的優勢

網絡設備在構建和維護高效、安全、可靠的網絡環境中發揮著至關重要的作用。它們的功能多樣&#xff0c;涉及數據傳輸、連接、安全、管理等多個方面。接下來&#xff0c;我們將深入探討幾種常見網絡設備的優勢及其應用場景。 交換機&#xff08;Switch&#xff09; 交換機主要…

尋找峰值 ---- 二分查找

題目鏈接 題目: 分析: 因為題目中要找的是任意一個峰值即可, 所以和<山脈數組的峰值索引>這道題差不多因為峰值左右都小于峰值, 所以具有"二段性", 可以使用二分查找算法如果nums[mid] < nums[mid 1], mid一定不是峰值, 所以left mid 1如果nums[mid] &…

自主創新助力科技強軍,麒麟信安閃耀第九屆軍博會

由中國指揮與控制學會主辦的中國指揮控制大會暨第九屆北京軍博會于5月17日-19日在北京國家會議中心盛大開展&#xff0c;政府、軍隊、武警、公安、交通、人防、航天、航空、兵器、船舶、電科集團等從事國防軍工技術與產業領域的30000多名代表到場參加。 麒麟信安作為國產化方案…

重學java 42.多線程 等待喚醒機制案例分析

Strength is built under a heavy load,I am expecting to pick up all of my loads and travel on. —— 24.5.24 章節重點 1.會用wait和notify兩個方法 2.會使用Lock鎖對象 3.會利用Cal1able接口實現多線程 4.會使用線程池完成多線程 等待喚醒案例分析&#xff08;線程之間的…

C++ TCP發送Socket數據

DEVC需要加入ws2_32庫 #include <iostream> #include <winsock2.h>#pragma comment(lib, "ws2_32.lib")void sendData(const char* ip, int port, const char* data) {WSADATA wsaData;SOCKET sockfd;struct sockaddr_in server_addr;// 初始化Winsock…

Qt moc系統的黑魔法?

Qt的元對象系統&#xff08;Meta-Object System&#xff09;是Qt框架的核心功能之一&#xff0c;為C語言增加了一些動態特性&#xff0c;借助元對象系統Qt可以實現以下功能 信號與槽機制&#xff08;Signals and Slots&#xff09;運行時類型信息&#xff08;Run-Time Type In…

【高頻】從輸入URL到頁面展示到底發生了什么?

一、相關衍生面試問題&#xff1a; 瀏覽器輸入美團網站&#xff0c;從回車到瀏覽器展示經歷了哪些過程 &#xff1f; http輸入網頁之后的流程&#xff1f; 百度搜索頁面&#xff0c;從點開搜索框&#xff0c;到顯示搜索頁面經歷了什么&#xff1f; 二、探究各個過程&#x…

XML Schema 字符串數據類型及約束詳解

字符串數據類型用于包含字符字符串的值。字符串數據類型可以包含字符、換行符、回車符和制表符。 以下是模式中字符串聲明的示例&#xff1a; <xs:element name"customer" type"xs:string"/>您文檔中的一個元素可能如下所示&#xff1a; <custo…

maven--解決Idea沒有拉取SNAPSHOT的問題

原文網址&#xff1a;maven--解決Idea沒有拉取SNAPSHOT的問題_IT利刃出鞘的博客-CSDN博客 簡介 本文介紹Idea解決maven沒有拉取SNAPSHOT的問題。 問題描述 項目依賴了以-SNAPSHOT結尾的包&#xff0c;它更新了。Idea點了重新導入后沒有拉取到最新的包&#xff1a; 解決方案…

什么是分賬系統呢?云分帳系統的實現功能有哪些?

隨著電商平臺的發展&#xff0c;越來越多的商家開始通過在線平臺進行銷售&#xff0c;平臺業務場景的逐漸復雜&#xff0c;多渠道收款、多方分賬。在些場景下如何解決這些問題成為電商平臺急需解決的核心問題。 為了解決這些問題&#xff0c;電商平臺可以引入分賬系統即可輕松解…

從“圖形可視化”到“圖生代碼”,低代碼平臺的新挑戰

前言&#xff1a; 低代碼平臺最大的一個特點就是可視化&#xff0c;將代碼采用可視化的方式展示管理。一時間擁有圖形化界面的各類系統都掛上了低代碼的標簽。但更多的代碼從業者在使用中卻發現&#xff0c;在眾多的低代碼平臺中都是“別人家的代碼”其可視化主要是別人家的代…

如何解決vcruntime140.dll丟失問題,詳細介紹5種靠譜的解決方法

vcruntime140.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;它為使用Visual C編譯器開發的應用程序提供必要的運行時環境。該DLL文件包含了大量應用程序運行時需要調用的庫函數&#xff0c;這些函數是實現C標準庫、異常處理機制、RTTI&#xff08;運行…