1. 程式人生 > >libsvm 學習筆記(三)--- svm-scale 使用方法介紹

libsvm 學習筆記(三)--- svm-scale 使用方法介紹

svm-scale 對資料進行縮放的規則:

式中,y 為縮放前的資料,y' 為縮放後的資料;lower 為引數中指定的資料下界,upper 為引數中指定的資料上界;min 為全部訓練資料中的最小值,max 為全部訓練資料中的最大值。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

windows 資料夾下有一個 svm-scale.exe 程式,可以用 svm-scale 命令來執行該程式。

先來看看 svm-scale 都有哪些引數,在 libsvm 的 windows 目錄下輸入命令svm-scale :



命令 svm-scale 要求至少輸入一個檔名 data_filename,該檔案中是要縮放的資料,看示例:

縮放 windows 資料夾下的 train1 檔案中的資料:



執行這條命令,程式 svm-scale.exe 會將縮放的結果輸出在控制檯中:


我們使用命令 "> train1.scaled" 將結果輸出在檔案 train1.scaled中:


其他的可選引數:
lower --- upper:縮放後的資料範圍(特徵向量 x),預設 -1 到 1。

y_lower --- y_upper:縮放後的資料範圍(類別標籤 y),預設不對 y 進行縮放。
-s save_filename
將縮放的規則儲存為檔案save_filename。

-r restore_filename:按照restore_filename中的規則縮放資料。

我們使用命令 "-s train.range" 將縮放規則儲存在檔案train.range 中:


看看檔案 train.range 中的內容:


第一行表示是對 x 進行的縮放;

第二行表示縮放的上下界分別是 1 和 -1;

第三行表示特徵向量 x 的第一個分量 x1 在訓練資料中的範圍是 0~297.05,以此類推。

再看看檔案 train1 和 train1.scaled 中的內容:



第一條資料中的 x 的第一個分量的縮放:

還可以自定義 lower 和 upper 的值後再對資料進行縮放:


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

再看看如何使用 train.range 檔案對測試檔案 test1 進行相同標準的縮放:


檢視 train.range、test1、test1.scaled 檔案的內容,檢測縮放是否正確:




svm-scale.exe 程式的原始碼是 libsvm 根目錄下的 svm-scale.c 檔案,可以通過研究該檔案中的原始碼來進一步深入學習 libsvm 縮放資料的機制。

文章內容中如有不足和錯誤,懇請各位大神不吝賜教!

相關推薦

libsvm 學習筆記--- svm-scale 使用方法介紹

svm-scale 對資料進行縮放的規則: 式中,y 為縮放前的資料,y' 為縮放後的資料;lower 為引數中指定的資料下界,upper 為引數中指定的資料上界;min 為全部訓練資料中的最小值,max 為全部訓練資料中的最大值。 ------------------

libsvm學習記錄svm引數尋優

基於GridSearch的svm引數尋優 http://www.matlabsky.com/thread-12411-1-1.html 還有以下兩種 沒有解釋 只有程式碼 直接見原連結 交叉驗證(CrossValidation)方法思想簡介以下簡稱交叉驗證(Cross

JAVA學習筆記

byte repl efi ber 時間 clas 區分大小寫 增強for size @SuppressWarnings("resource")是用來壓制資源泄露警告的。比如使用io類,最後沒有關閉。Set集合特點:1)無序,不隨機2)元素唯一3)沒下標註意:Collect

thinkphp5.0學習筆記獲取信息,變量,綁定參數

名稱 自動識別 參數順序 query images 報錯 oca nds arc 1.構造函數: 控制器類必須繼承了\think\Controller類,才能使用: 方法_initialize 代碼: <?php namespace app\lian\control

最優化學習筆記最速下降法

tex track enter water pos 最優 content 分享 clas 最優化學習筆記(三)最速下降法

python學習筆記

list 內存 寫入 odin move 列表 付出 open ada 文件的操作一般分三步: 1、打開文件,獲取文件的指針(句柄) 2、通過指針(句柄)操作文件 3、關閉文件 現在有以下文件: 我們為愛還在學 學溝通的語言

Redis學習筆記常用命令整理

mes ember nbsp end 插入 學習筆記 頻道 hash value Redis 常用命令 1.DEL key 刪除key2.EXISTS key 檢查key是否存在3.KEYS * 查看所有的key4.EXPIRE key seconds 設置key的過期時

Django 學習筆記模板導入

文件 文件中 訪問 from lang sts class rom 網頁 本章內容是將一個html網頁放進模板中,並運行服務器將其展現出來。 平臺:windows平臺下Liunx子系統 目前的目錄: hello ├── manage.py ├── hello │ ├─

Git學習筆記遠程庫GitHub協同開發,fork和忽略特殊文件

tex 情況 learn 多人 版本管理 獲得 logs 秘鑰 多個 遠程庫   遠程庫,通俗的講就是不再本地的git倉庫!他的工作方式和我們本地的一樣,但是要使用他就需要先建立連接!   遠程庫有兩種,一個是自己搭建的git服務器;另一種就是使用GitHub,這個網站就是

jQuery學習筆記

對象 idt 命名空間 goto div hid 右鍵 func 切換 jQuery中的事件和動畫 jquery中的事件 加載DOM 兩者等價但有細微區別 $(document).ready(function(){//編寫代碼}) 在DOM完全就緒時就可以被調用。

《EFFECTIVEC++》學習筆記

ict lsp alq list dict baidu vsr .com 學習筆記 REDIS%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90-DICT%E9%81%8D%E5%8E%86%E7%AE%97%E6%B3%95 http://mp3.

學習筆記——數據庫命令的應用

cal 名稱 nbsp ges bsp tex 密碼 連接字符串 集合 學習筆記(三)——數據庫命令的應用 一、存儲過程 (一)基本概念 存儲過程就是固化SQL數據庫系統內部的SQL語句,這樣做的好處是可以提高執行效率,提高數據庫的安全性,減

Hibernate學習筆記 --- 映射枚舉類型

enume rto 希望 enum 類名 賦值 rom cart org 對於枚舉類型,不能通過org.hibernate.annotations.Type註解來簡單的映射對應的數據庫字段類型(除非自定義類型)。對此,Hibernate提供了javax.persis

C#可擴展編程之MEF學習筆記:導出類的方法和屬性

學習 說了 如何 mod ati dem ont num imp 前面說完了導入和導出的幾種方法,如果大家細心的話會註意到前面我們導出的都是類,那麽方法和屬性能不能導出呢???答案是肯定的,下面就來說下MEF是如何導出方法和屬性的。   還是前面的代碼,第二篇中已經提供了下

【轉載】.NET Remoting學習筆記信道

star fig cati 服務端 pro net string spa 處理類型 目錄 .NET Remoting學習筆記(一)概念 .NET Remoting學習筆記(二)激活方式 .NET Remoting學習筆記(三)信道 參考:♂風車車.Net .NET Fra

python3學習筆記多線程與多進程

ttr pid make start lee close gif 自己 oops 線程thread,庫threading 進程process,庫Process 使用起來方法跟其他語言相似,也不需要下載其他的庫,語言自帶的庫裏就有 1.多線程的例子 1 #coding=

Linux學習筆記 putty、xshell運用

mage puttygen init for 下載 mkdir shell org c11 上一節學習了centos7的靜態ip配置,今天學習使用putty和xshell遠程連接centos7一.首先來學習使用putty1.下載putty包 https://www.chi

Asp.net core 2.0.1 Razor 的使用學習筆記

post 應用程序 新的 entity gin start 密碼強度 ice httponly ASP.net core 2.0.1 中 asp.net identity 2.0.1 的基本使用(二)—用戶賬戶及cookie配置 修改用戶賬戶及cookie配置

Redis深入學習筆記RDB及AOF流程

del 每秒調用 查看 單個 一個 重寫 use 物理內存 深入學習 RDB是Redis持久化數據的一種方式,是執行時間點的Redis內存快照,redis數據還原時加載rdb文件,Redis的主從數據同步也是基於RDB實現的。 RDB流程:

MySQL學習筆記

集中 外鍵 部分 進行 drop 非空約束 類型 級聯操作 space 1 數據約束 1.1什麽數據約束 對用戶操作表的數據進行約束 1.2 默認值 作用: 當用戶對使用默認值的字段不插入值的時候,就使用默認值。 註意: 1)對默認值字段插入null是可以的。 2)對默認值