python 使用libsvm分析數(shù)據(jù)

一. 將數(shù)據(jù)格式轉(zhuǎn)換為libsvm

用libsvm分析數(shù)據(jù)揣炕,首先要把csv格式的數(shù)據(jù)轉(zhuǎn)換成libsvm格式,網(wǎng)上搜到的方法如下:

1.?網(wǎng)上有一個xls文FormatDataLibsvm.xls具有宏命令债朵,可以利用其中的宏命令來實現(xiàn)。對于屬性數(shù)據(jù)只有一二百的瀑凝,這種工具簡單方便序芦。

2.?可以利用weka來轉(zhuǎn)換,用weka打開csv文件粤咪,再將文件重新保存為libsvm格式谚中。

由于我的數(shù)據(jù)有180萬左右,所以使用了第二種方法。去weka官網(wǎng)下載最新版本宪塔,我的是weka-3-9-2-oracle-jvm磁奖,轉(zhuǎn)換前需要提前下載libsvm的包。打開GUI界面某筐,點擊tools下的package manager比搭,按如下界面搜索并下載。

然后就可以轉(zhuǎn)換了數(shù)據(jù)了南誊。需要注意的是身诺,保存時有可能沒有存為.libsvm的選項,這是因為數(shù)據(jù)格式只能是numerical或者nominal弟疆,修改或移除之后就可以了戚长。

二. Mac電腦配置python(PyCharm)的libsvm

1. 首先下載libsvm.zip文件??

2. unzip一下libsvm.zip文件,用終端進入libsvm文件夾??

3. 輸入make

4. 進入libsvm下的python文件夾??

5. make一次libsvm->python文件夾 ?怠苔,上層文件夾會出現(xiàn)一個libsvm.so.2文件

現(xiàn)在已經(jīng)編譯好libsvm了同廉,值得注意的是:libsvm.so.2是unix系統(tǒng)所需要的鏈接庫,而且存在于python上一個文件夾中(即libsvm主文件夾中柑司,而且在svmutil.py中引用libsvm.so.2時迫肖,都是看做在上一個目錄下進行引入的)

6.?進入系統(tǒng)所使用的python的site-packages文件夾,將libsvm.so.2復制到site-packages文件夾中(本機為/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages)

7. 在該文件夾下建立文件夾libsvm攒驰,進入libsvm文件夾蟆湖,新建__init__.py文件(這一步十分重要,因為libsvm.so.2在上一層文件夾中玻粪,因此該libsvm文件夾將會被看做一個python工作區(qū)隅津,而__init__.py對于python工作區(qū)來說是必須的)

8. 將libsvm->python文件夾下的svm.py、svmutil.py都復制到這個新建的libsvm文件夾中劲室。

按道理說伦仍,這樣就成功了,但是當我用PyCharm運行from libsvm import svmutil時很洋,出現(xiàn)了如下問題:

ModuleNotFoundError: No module named 'svm'

查看svmutil.py充蓝,發(fā)現(xiàn)有如下代碼:

from svm import *??

from svm import __all__ as svm_all?

因為當前路徑不在系統(tǒng)路徑下,編譯器不知道去哪里找svm.py喉磁,所以修改上述代碼為:

from libsvm.svm import *??

from libsvm.svm import __all__ as svm_all?


就可以用from libsvm.svmutilimport *運行啦谓苟。

三、一個簡單例子

這里使用了一個最簡單的栗子协怒。

from libsvm.svmutil import *

y,x=svm_read_problem('train.libsvm') ?# 訓練數(shù)據(jù)

yt,xt=svm_read_problem('test.libsvm') ?# 測試數(shù)據(jù)

m = svm_train(y[:37000], x[:37000]) ?# 使用前37000個數(shù)據(jù)訓練

p_label,p_acc,p_val=svm_predict(y[-1700:],x[-1700:],m) ?# 使用后1700個數(shù)據(jù)測試

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末涝焙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子孕暇,更是在濱河造成了極大的恐慌纱皆,老刑警劉巖湾趾,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異派草,居然都是意外死亡搀缠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門近迁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來艺普,“玉大人,你說我怎么就攤上這事鉴竭∑缙” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵搏存,是天一觀的道長瑰步。 經(jīng)常有香客問我,道長璧眠,這世上最難降的妖魔是什么缩焦? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮责静,結(jié)果婚禮上袁滥,老公的妹妹穿的比我還像新娘。我一直安慰自己灾螃,他們只是感情好题翻,可當我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腰鬼,像睡著了一般嵌赠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上熄赡,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天猾普,我揣著相機與錄音,去河邊找鬼本谜。 笑死,一個胖子當著我的面吹牛偎窘,可吹牛的內(nèi)容都是我干的乌助。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼陌知,長吁一口氣:“原來是場噩夢啊……” “哼他托!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起仆葡,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赏参,失蹤者是張志新(化名)和其女友劉穎志笼,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體把篓,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡纫溃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了韧掩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片紊浩。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖疗锐,靈堂內(nèi)的尸體忽然破棺而出坊谁,到底是詐尸還是另有隱情,我是刑警寧澤滑臊,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布口芍,位于F島的核電站,受9級特大地震影響雇卷,放射性物質(zhì)發(fā)生泄漏鬓椭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一聋庵、第九天 我趴在偏房一處隱蔽的房頂上張望膘融。 院中可真熱鬧,春花似錦祭玉、人聲如沸氧映。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岛都。三九已至,卻和暖如春振峻,著一層夾襖步出監(jiān)牢的瞬間臼疫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工扣孟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烫堤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓凤价,卻偏偏與公主長得像鸽斟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子利诺,可洞房花燭夜當晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容