Weka新手文章

Weka新手文章(一) 收藏

數據倉庫,數據分析,不涉及商業方面的高層決策之用,故本篇文章只適合初學數據倉庫,爲了完成老師作業,且想用weka做簡單數據挖掘之用的童鞋。

weka版本是3.6.2,數據庫庫是SQL Server 2005,沒辦法,老師提供的幾萬條數據保存在excel表中,如果從excel轉爲csv格式,再從weka中導入該csv文件,涉及到格式的轉換,很是麻煩~況且幾萬條數據,不可能一條一條去檢查它們的格式,故思路是,先在sql server中建立一個數據庫(db_ppz),把csv中的幾萬條數據導入到數據庫db_ppz中,再從weka中連接sql server讀取數據,速度還可以啦~~

weka下載地址:一個是自帶了jdk,一個沒帶jdk,文件體積少點。。。

http://www.cs.waikato.ac.nz/~ml/weka/

是的,weka連接數據庫也是有點麻煩的,但網上教程還是不少,下面鏈接整理得很好(但偶有簡便改進方法~~)

http://blog.csdn.net/senaku/archive/2008/03/28/2225943.aspx

個人歸納連接思路有幾點:

1、下載微軟的驅動jdbc,最新版的已經是sqljdbc_3.0,google一下可以快速找到微軟網站下載。下載到的是zip包包,解壓,得到sqljdbc_3.0.jar文件,這時不用像上面網站那樣××又××的(他是假設電腦中還沒配置好jdk的)。思路是把sqljdbc_3.0.jar放到jdk中的jre/lib/中,比如“D:/Program Files/Java/jre1.6.0_07/lib/ext"。因爲jdk配置時已經設置好環境變量,把jar包包放這裏,weka通過訪問jdk路徑,能找到這個驅動文件的。

2、上面的步驟,可以代替鏈接網站中的前5小步驟,可以開始配置DatabaseUtils.props文件。進入weka所在的文件夾中,比如我的是”D:/Program Files/Weka-3-6“,找到weka.jar這個文件,先對它做個異地備份。然後用rar軟件打開它,進入裏面weka.jar/weka/experiment 位置,找到DatabaseUtils.props,雙擊打開,然後開始編輯它的內容:

對於sql server,可以參考下面的配置內容,而只需更改一個地方,即你自己的數據庫名稱:

“jdbcURL=jdbc:sqlserver://localhost;databaseName=db_ppz ”

 

  1. # Database settings for Microsoft SQL Server 2005 Express Edition  
  2. #  
  3. # url:     http://www.microsoft.com/  
  4. # jdbc:    http://msdn2.microsoft.com/en-us/data/aa937724.aspx  
  5. # author:  Fracpete (fracpete at waikato dot ac dot nz)  
  6. # version: $Revision: 1.2 $  
  7. # JDBC driver (comma-separated list)  
  8. jdbcDriver=com.microsoft.sqlserver.jdbc.SQLServerDriver  
  9. # database URL  
  10. jdbcURL=jdbc:sqlserver://localhost;databaseName=db_ppz  
  11. # specific data types  
  12.  string, getString() = 0;    --> nominal  
  13.  boolean, getBoolean() = 1;  --> nominal  
  14.  double, getDouble() = 2;    --> numeric  
  15.  byte, getByte() = 3;        --> numeric  
  16.  short, getByte()= 4;        --> numeric  
  17.  int, getInteger() = 5;      --> numeric  
  18.  long, getLong() = 6;        --> numeric  
  19.  gloat, getFloat() = 7;      --> numeric  
  20.  date, getDate() = 8;        --> date  
  21.  text, getString() = 9;      --> string  
  22. bit=1  
  23. tinyint=3  
  24. smallint=4  
  25. int=5  
  26. bigint=6  
  27. smallmoney=2  
  28. money=2  
  29. numeric=2  
  30. decimal=2  
  31. float=2  
  32. real=2  
  33. smalldatetime=8  
  34. datetime=8  
  35. timestamp=8  
  36. char=0  
  37. text=0  
  38. varchar=0  
  39. nchar=0  
  40. ntext=0  
  41. nvarchar=0  
  42. binary=0  
  43. varbinary=0  
  44. image=0  
  45. uniqueidentifier=9  
  46. rowversion=9  
  47. # other options  
  48. CREATE_DOUBLE=DOUBLE PRECISION  
  49. CREATE_STRING=VARCHAR(8000)  
  50. CREATE_INT=INT  
  51. checkUpperCaseNames=false  
  52. checkLowerCaseNames=false  
  53. checkForTable=true  
 

 

修改好後,保存關閉,然後在rar中更新它即可。方便之處:不用對weka.jar進行解包,配置好DatabaseUtils.props文件後不需要再用jar命令進行壓縮(我最開始也是解包,修改,再壓縮,但運行weka軟件時會提示說找不到main函數,且網上也有一些人碰到相同問題)。

3、配置好後,運行weka,選擇open db,彈出窗口中可以看到database url,我的是”jdbc:sqlserver://localhost;databaseName=db_ppz“,再選擇user,用sa帳號登錄(我是另外建立帳號登錄數據庫),然後選擇user旁邊的按鈕Connect,在最下面的info中,顯示結果=true,表示連接成功。然後根據數據庫中的表,執行sql語句,select出數據,按ok確認返回weka的explorer界面。

(其實如果爲了測試或熟悉weka,可以打開它自帶的測試數據,數據位於”D:/Program Files/Weka-3-6/data“。或者在open db旁邊的DataGenerator也是可以快速生成測試數據,我選擇的是weka.datagenerators.classifiers.classification.Agrawal產生器)

上面基本配置好weka,讀取到數據。後文將更新個人篩選數據,使用三個數據算法(分類、聚類、關聯分析)的小小教程吧,因爲我也從小白鼠過來的~~

weka推薦看的東東吧~~不看文章是不行的,手上也需要一個翻譯軟件,比如有道詞典,啊啊?? Orz……

Weka入門教程:http://forum.wekacn.org/viewtopic.php?f=2&t=9

weka中文論壇:http://forum.wekacn.org/viewforum.php?f=2

這個文檔,介紹了幾個算法吧:http://wenku.baidu.com/view/a0cfde06eff9aef8941e06fd.html

還有這個,算掃盲:http://wenku.baidu.com/view/49716a0203d8ce2f006623fd.html

google一下:weka 中文教程.pdf,對weka這個軟件的界面介紹??

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章