機器學習——SVM之python實現數據樣本標準化和歸一化

目錄

一、標準化和歸一化的目的

1、標準化

2、歸一化

二、標準化和歸一化常用的理論公式

1、歸一化

2、標準化

三、python實現SVM樣本數據標準化和歸一化

1、標準化

2、歸一化


本文源代碼:《機器學習——支持向量機SVM之python實現簡單實例一》

一、標準化和歸一化的目的

1、標準化(scale)

將每個數據特征數據均值變為0,標準差變為1

標準化的目的是為了下一步數據的處理提供方便,而進行數據縮放等變化

?

? 數據的標準化是將數據按比例縮放,使之落入一個小的特定區間。在某些比較和評價的指標處理中經常會用到,去除數據的單位限制,將其轉化為無量綱的純數值,便于不同單位或量級的指標能夠進行比較和加權。

??? 目前數據標準化方法有多種,歸結起來可以分為直線型方法(如極值法、標準差法)、折線型方法(如三折線法)、曲線型方法(如半正態性分布)。不同的標準化方法,對系統的評價結果會產生不同的影響,然而不幸的是,在數據標準化方法的選擇上,還沒有通用的法則可以遵循。

2、歸一化(normalization)

1 把數變為(0,1)或者(-1,1)之間的小數

歸一化的目的是為了消除不同數據之間的量綱,方便數據比較和共同處理
??????? 主要是為了數據處理方便提出來的,把數據映射到0~1范圍之內處理,更加便捷快速,應該歸到數字信號處理范疇之內。
2 把有量綱表達式變為無量綱表達式
??????? 歸一化是一種簡化計算的方式,即將有量綱的表達式,經過變換,化為無量綱的表達式,成為純量。 比如,復數阻抗可以歸一化書寫:Z = R + jωL = R(1 + jωL/R) ,復數部分變成了純數量了,沒有量綱。
另外,微波之中也就是電路分析、信號系統、電磁波傳輸等,有很多運算都可以如此處理,既保證了運算的便捷,又能凸現出物理量的本質含義。

實際上是如下圖所示的決策邊界比較合理,這就需要通過標準化來進行實現,支持向量4個

?

二、標準化和歸一化常用的理論公式

具體怎么計算一個矩陣的均值和方差網上很多不再贅述

1、歸一化

2、標準化

三、python實現SVM樣本數據標準化和歸一化

建議自己按照公式進行編程

1、標準化

?

標準化的公式很簡單,步驟如下

1.求出各變量(指標)的算術平均值(數學期望)xi和標準差si ;
2.進行標準化處理:
zij=(xij-xi)/si
其中:zij為標準化后的變量值;xij為實際變量值。
3.將逆指標前的正負號對調。
標準化后的變量值圍繞0上下波動,大于0說明高于平均水平,小于0說明低于平均水平。

?

常用

from sklearn import preprocessing
import numpy as np
......
x_scaled = preprocessing.scale(x)#x是要進行標準化的樣本數據
......

除了用scale函數,還可以用以下幾種方法對數據進行標準化

#樣本數據歸一化,標準化
from sklearn.preprocessing import StandardScaler
standardscaler = StandardScaler()
#對數組x遍歷,對每一個樣本進行標準化
standardscaler.fit(x)
#返回類StandardScaler()<class'sklearn.preprocessing._data.StandardScaler'>
x_standard = standardscaler.transform(x)#返回標準化后的樣本集
def z_score(x, axis):x = np.array(x).astype(float)xr = np.rollaxis(x, axis=axis)xr -= np.mean(x, axis=axis)xr /= np.std(x, axis=axis)# print(x)return x
def standardize(x):return (x - np.mean(x))/(np.std(x))

?

2、歸一化

def normalize(x):return (x - np.min(x))/(np.max(x) - np.min(x))

?

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

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

相關文章

[黑群暉經典教程] 一步一步建立自己的黑群暉

【申明&#xff1a;本文并非本人所作&#xff0c;為內部網絡中一位大神所寫&#xff0c;個人覺得寫得很好&#xff0c;遂原文搬了過來&#xff0c;如有侵犯原作者的權利&#xff0c;請及時與我聯系】 PS:有好幾個兄弟覺得我擅自轉發&#xff0c;不是很妥。解釋一下&#xff1a;…

Java為什么能跨平臺運行

因為java程序編譯之后的代碼不是能被硬件系統直接運行的代碼&#xff0c;而是一種“中間碼”--字節碼。不同的硬件平臺上裝有不同的java虛擬機&#xff08;JVM&#xff09;&#xff0c;由JVM來把字節碼再翻譯成所對應的硬件平臺能夠執行的代碼&#xff0c;因此java可以跨平臺運…

C++和Opencv4.5 實現全景圖像拼接

前言 最近剛下了最新版的opencv4.5&#xff0c;急不可待的試下操作&#xff0c;就用了opencv自帶的Stitcher類拼接下圖像&#xff0c;結果傻眼了&#xff0c;程序顯示Stitcher沒有createDefault成員&#xff0c;看了好久&#xff0c;終于找到了解決方法。 Stitcher原理 Stit…

機器學習——python實現SVM模型w,b的查看

基于源代碼&#xff1a;《機器學習——支持向量機SVM之python實現簡單實例一》進行講解 1、線性模型 這里以二特征三類&#xff0c;一對多策略為案例 kernel “linear”&#xff1a;線性核&#xff0c;參數有w&#xff0c;b 線性模型的決策邊界是&#xff1a;w0iTx0i w1i…

Codeforces-712C-Memory and De-Evolution

轉載于:https://www.cnblogs.com/GrowingJlx/p/6642764.html

移動端輸入框彈出鍵盤控制

在移動端&#xff0c;我們公司通過輸入框主要收集用戶的姓名和電話&#xff0c;以下是對輸入框獲取焦點時&#xff0c;控制彈出鍵盤的樣式來增強用戶體驗。 輸入姓名 我們的用戶都是中國人&#xff0c;輸入用戶名為中文&#xff0c;所以彈出鍵盤是輸入中文狀態即可&#xff0c;…

Opencv4.5-C++ 攝像頭畫面鏡像顯示及文件保存

前言 想試下新買電腦的攝像頭好用不&#xff0c;就寫了個攝像頭調用程序&#xff0c;實現了鏡像和圖片截取保存。 代碼 #include <iostream> #include <opencv2/stitching.hpp> #include <opencv2\opencv.hpp> #include <opencv2/highgui/highgui.h…

機器學習之支持向量機SVM之python實現ROC曲線繪制(二分類和多分類)

目錄 一、ROC曲線 二、TP、FP、TN、FN 三、 python繪制ROC曲線(二分類) 1、思路 2、關鍵代碼

easyui datagrid 列拖動

實現代碼-code <script type"text/javascript"> $.extend($.fn.datagrid.methods, { columnMoving: function(jq) { return jq.each(function() { var target this; var cells $(this).datagrid(getPanel).find(div.datagrid-header td[field]); cells.dragg…

window linux IPC ftok BY_HANDLE_FILE_INFORMATION

看這題目就很亂&#xff0c;心情當然也是不怎么美好了。前一段時間做了一個項目&#xff0c;AIX(Unix的一種&#xff09;中的一個系統向WINDOWS移植&#xff0c;開發環境由IBM的C/C(叫什么忘記了&#xff0c;好像是xlC)變為VC。 這是算過來&#xff0c;但是最近進程通信的信號量…

相機標定(一) —— 深入理解齊次坐標及其作用

一、什么是齊次坐標和齊次坐標系 齊次坐標 齊次坐標是一個相機標定問題的關鍵理論之一&#xff0c;所以就此問題分析一下。 單從定義上來講&#xff0c;齊次坐標&#xff08;投影坐標&#xff09;就是用N1維來代表N維坐標&#xff08;點和向量&#xff09;&#xff0c;也可說…

機器學習——圖解SVM中gamma和c參數的作用

參數c和gamma的作用 我們通過下圖詳解參數c的作用&#xff0c;首先我們以一個簡單的線性分類器為例&#xff0c;上一個博客中我們知道影響分類器的主要因素是支持向量&#xff0c;即虛線上的樣本&#xff0c;如下圖可知&#xff1a; 但當正負樣本的分布在如下情況時&#xff0…

關于結構體里面結構體的申明和使用

申請&#xff1a; typedef struct Vo{int Voltage;float Delay_ms;char Enable;}Volt_Def;typedef struct ed{float Delay_ms;int Level;}Edge_Def;typedef struct Ed_hard{Edge_Def a;Edge_Def b;Edge_Def c;}HARD_RESET;int power_sel 0xff;typedef struct power_x{Volt_Def…

面試題(十四)

唐巧前輩說這些都是 iOS 的基礎問題&#xff0c;應該對此深入的了解。當初看到時&#xff0c;大部分回答不上來&#xff0c;因為平時沒有好好思考整理過。這里大部分的概念大多會在學習 OC 的過程中遇到過&#xff0c;但還是得經過寫代碼才能有更深的理解。反正我當初看那些設計…

工業相機基礎知識詳述 —— 焦平面,像平面,彌散圓,光圈,分辨率,景深,接口,靶面尺寸

一、焦平面 想到焦平面&#xff0c;很多人不由自主就想到不就是焦點所在的垂直于光軸的平面嗎&#xff1f;其實其背后隱藏這更多的東西。 1&#xff09;焦點不止一個 對于一般拍攝場景來說&#xff0c;光通過一個凸透鏡&#xff0c;匯聚不到一個點&#xff0c;越靠近中軸線的…

機器學習——SVM之交叉驗證對參數(C,gamma)進行優化以及選擇

目錄 一、(C,gamma)簡介 二、交叉驗證 1、什么是交叉驗證? 2、參數優化方法

【BZOJ-2427】軟件安裝 Tarjan + 樹形01背包

2427: [HAOI2010]軟件安裝 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 960 Solved: 380[Submit][Status][Discuss]Description 現在我們的手頭有N個軟件&#xff0c;對于一個軟件i&#xff0c;它要占用Wi的磁盤空間&#xff0c;它的價值為Vi。我們希望從中選擇一些軟件…

Hadoop目錄

1. 通過java讀取HDFS的數據 (轉&#xff09; 2. FLume監控文件夾&#xff0c;將數據發送給Kafka以及HDFS的配置文件詳解 3. 開啟hadoop和Hbase集群的lzo壓縮功能&#xff08;轉&#xff09; 4. Hadoop集群WordCount運行詳解&#xff08;轉&#xff09;轉載于:https://www.cnblo…

相機標定(二)深入理解四大坐標系與其變換關系

一、前言 視覺系統一共有四個坐標系&#xff1a;像素平面坐標系&#xff08;u,v&#xff09;、圖像坐標系&#xff08;x,y&#xff09;、相機坐標系&#xff08;Xc,Yc,Zc&#xff09;和世界坐標系&#xff08;Xw,Yw,Zw&#xff09;&#xff0c;如下圖所示。每種坐標系之間均存…

numpy——ravel()和flatten()

目錄 功能 用法 區別 flatten&#xff08;&#xff09; ravel() 功能 這兩個函數的功能都是將多維數組轉換成一維 用法 import numpy as np arr np.array([[1, 2],[3, 4]]) arr.flatten()降維默認行序優先&#xff0c;傳入參數‘F’表示列序優先 arr.flatten(F) arr.r…