:::
顯示具有 電腦軟體/R 標籤的文章。 顯示所有文章

循序樣式探勘: 以R的arulesSequences實作 / Sequential Pattern Mining in R

循序樣式探勘: 以R的arulesSequences實作 / Sequential Pattern Mining in R

image

循序樣式探勘是一種用來找出「大部分的人都有的行為模式」的有效方法。我以前用過JavaScript寫過循序樣式探勘工具,也用Weka的GSP來實作過,最近我又發現可以用R的arulesSequences來輕鬆完成循序樣式探勘的工作。以下我會介紹循序樣式探勘的概念,並分享用R來實作的腳本。

(more...)

從統計軟體R來看自由軟體與教育

從統計軟體R來看自由軟體與教育

unnamed
前幾天,實驗室的同事在講最近使用統計軟體R來做合作學習中參與者分群(clusting)的事情。分組結果如上圖所示,不同顏色代表不同的群組,結果紫色小組的成員太多,「這是一個失敗的分群」她笑著說。看到這個分群結果,我也覺得很開心。但這不是基於分析結果還不滿意的自嘲,而是我看到了一個不一樣未來的開端──一個用自由軟體改變所上教育的開始。


教育背後的商業化問題

英國前首相布萊爾曾說:「教育是社會正義,是一種權力,也是一種機會。」許多人都認為教育應具備讓每一位學生都有機會學習的公平性,但是在電腦方面的教育距離這個目標還有很長的一段距離。
電腦教育與Office教學
office
舉個大家都很熟悉,但是卻不見得察覺得到的例子:Microsoft Office,以及它底下的Word、Excel、Power Point。電腦概論的通識課程教導使用Office、老師要學生繳交報告Word、學生上台簡報要求使用Power Point。上課教Office、學校用Office,在許多人眼中,「Word」已經成為豐富文本(rich text)的代名詞,「ppt」也是簡報投影片的簡稱。
但是這樣教育背後的結果,不僅是被微軟所制約,導致Office版本升級時許多人倍感困擾,更嚴重的是,對於沒有經濟能力購買Office的學生來說,以Office作為電腦文書處理的教育內容,更是一種對貧窮學生的歧視。
買得起軟體就不是問題?
在課堂中教導學生使用某種軟體時,第一個遇到的問題就是:「老師,我在家裡的時候,或是畢業之後,如果要使用這軟體,那怎麼辦?」
1-CS6-Startup-Screen
若以Office為例,Office家用版一套$3999的價位在許多人眼中也許並不是很大的負擔。那我們換個角度,看影像處理課程教導Adobe Photoshop。這一套建議售價$39200的Adobe Photoshop CS6中文版 for Windows,你還會覺得這是貧窮學生應該負擔得起的價位嗎?
除了Office或Photoshop這種常見的商業軟體之外,在研究所課程中,我看到的是統計課程教導學生使用IBM SPSS(基本功能單機授權版9萬多,其他統計模組另外計算)、資料庫概論教Microsoft SQL Server(標準版不限個數約20萬)(以上價格參考自一通資採股份有限公司的決標結果,價格細節會時常改變),就連以「資訊自由」自詡的圖書館,都會在資訊利用教育教學生使用EndNote單機版1萬5)。
只能在學校使用的校園軟體
今天我們還在學校,還能在電腦教室中使用這些軟體,還能透過計算機中心提供的校園軟體下載或是雲端使用虛擬機器軟體(這點我真的要稱讚Critrix的強大),但是學生離開了校園回到家、畢業之後投入職場,從學生身分脫離之後,就失去了學校的支援與學生授權的優惠。而對於無力負擔起這些軟體高昂費用的學生來說,課堂所學的技能很容易變得毫無用武之地。我想,這應該不是我們教育中樂見的情景吧。
2012-08-03_101927
再以研究者與EndNote為例,許多研究生在學校接受以EndNote彙整研究書目以進行研究論文撰寫的訓練,EndNote可說是進行研究的基本工具。但研究生使用學校提供的EndNote,意味著離開學校之後就喪失了EndNote的支援。某方面來說,學校變相地認為研究生只有在學校中才做研究(才會用到EndNote),而畢業之後就不需要進行研究(不需要用EndNote)。若學校對於研究生的教育是培養研究人才,那麼我想上述的觀點應該會跟學校教育目標有著相當大的牴觸。
盜版不能解決問題,自由軟體才是終極之道
「老師,我在家中要用Photoshop做作業,我該怎麼辦?」面對學生這種問題,很多人選擇的解決方式是:提供非正式授權的軟體。這種檯面下違法的行為,在許多商業軟體教學課程中,卻已經變成了常態。或著更誇張一點,學生去補習班學習某個軟體的目的,就是從講師身上取得昂貴的軟體本身。
當然,作為一個軟體人,我並不贊成非正式授權與盜版軟體的盛行。這不僅是有損軟體製作者的智慧財產權,更會扭曲民眾對於智慧財產的觀念。
那麼不用盜版,難道要學生買正版嗎?要強迫學生購買那些價格破萬的昂貴軟體,才能進行課堂教學嗎?
答案是肯定的,用合理授權的正版軟體才是正確的途徑;但答案也是否定的,因為有些授權正版軟體不必花錢購買,那就是自由軟體(freeware)。

自由軟體與教育

根據自由軟體基金會(Free Software Foundation, FSF)的定義:
自由軟體是一種可以不受限制地自由使用、複製、研究、修改和分發的軟體。這方面的不受限制正是自由軟體最重要的本質,與自由軟體相對的是專有軟體(Proprietary Software)非自由軟體,也常被稱為私有軟體、封閉軟體。
儘管收費與否並非定義自由軟體的主要依據,但是大多數自由軟體所搭配的授權條款,如GPLBSD,都允許使用者免費使用這些軟體。自由軟體大多可從網際網路上直接下載,並且不收任何費用,也沒有繁雜的授權問題。
因此,若教學內容改以自由軟體為主軸,就可以避免學生離開學校之後就無法再繼續使用昂貴商業軟體的問題,更能夠讓學生確實學習到終身可用的技能。
教育可用的自由軟體
以上述所提到的商業軟體為例,其實他們都有可以替換的自由軟體可供使用。以下就文書處理軟體、影像處理軟體、資料庫軟體、書目管理軟體、統計軟體五種類型,以免費的自由軟體取代付費的商業軟體的作法,做一個概略的介紹。
文書處理軟體:LibreOffice
791px-LibreOffice_Writer_3.3
LibreOffice 是自由的辦公室套裝軟體(Libre為自由之意),可在 Windows、Linux、Macintosh 平臺上運行。本套裝軟體有六種應用程式供你製作文件、資料處理之用,包括:Writer 、Calc 、Impress、Draw、Math、Base。與其他商業軟體不同,本套裝軟體採用 LGPL3 授權,該授權方式賦予一般大眾自由使用、分享、散布本套裝軟體的權利。
LibreOffice是衍生自OpenOffice.org(OOo)的分歧版本,兩者除了維護者不同之外,主要功能都十分相似,很多地方可以互通。LibreOffice的介面設計仍相近於Office 2003以前的傳統介面,這可能會對於排斥Office 2007之後的Ribbon介面的使用者來說會是額外的加分。(雖然我個人還是覺得Ribbon介面真的不錯用啦,LibreOffice快看齊吧!)
以下表格我簡單地比較一下從Office對比到LibreOffice的功能,讓大家知道LibreOffice可以如何取代Microsoft Office:
Microsoft Office LibreOffice
文書處理 Word Writer
試算表 Excel Calc
投影片 Power Point Impress
排版 Publisher Draw
數學公式 Word中的方程式工具 Math
資料庫 Access Base
影像處理軟體:GIMP
Gimp_2.4.3
GIMP是GNU Image Manipulation Program(GNU影像處理常式)的縮寫,是一套跨平台開放原始碼影像處理軟體,是遵循GNU授權條款發布的自由軟體,可以在GNU/LinuxMS WindowsMac OS X等平台下執行,能夠實作多種影像處理方面的要求,包括照片潤飾、影像合成和建立影像;此外。GIMP的原生檔案格式的副檔名是.xcf
其功能包括顏色與色盤、選擇與路徑工具(包含遮色片)、筆刷影像編輯與印章工具、圖層與不透明混合、濾鏡效果、還可以用外掛GAP(GIMP Animation Package)製作GIF動畫。
雖然操作介面看起來沒有Photoshop那樣時髦,但是工具按鈕卻比Photoshop好按許多,這點我覺得很不錯。
資料庫軟體:PostgreSQL與pgAdmin
pgadmin3_slony
PostgreSQL是自由的物件-關聯型資料庫伺服器(或是資料庫管理系統),在靈活的BSD-風格授權條款下發行。PostgreSQL具備企業級應用特性,也完整且高度相容ISO/ANSI SQL國際標準,其高可用性(HA)及數據儲存品質也可媲美Oracle、DB2等商業型資料庫管理系統。
作為關連性資料庫的學習對象來說,PostgreSQL甚至比缺乏子查詢交易(transcation)的MySQL更為適合。而且我還是得提醒大家,拿MySQL製作的商業產品賣錢時,請記得繳交授權費用。
一般大家對於PostgreSQL的垢病在於運作速度較慢,而且以企業應用級的PostgreSQL也較MySQL複雜許多。儘管如此,我還是十分推薦以PostgreSQL作為關聯式資料庫的教學內容。至於近年來興起的NoSQL,那又是另一個話題了。
書目管理軟體:Zotero
928-image-Zotero
Zotero是一個整理文獻的好工具。它不僅可供人免費使用,也可以讓人直接從網頁匯入書目資料,而且中文支援程度也比EndNote好上很多。Zotero可以以Firefox Add-on的形式安裝,也可以獨立安裝,並從Google Chrome、Safari等瀏覽器中匯入書目資料,非常方便。我在課堂上課的報告、論文撰寫時的參考文獻,全部都使用Zotero管理。
我製作了一張功能比較表,讓大家知道Zotero與傳統的資料夾整理文件、EndNote之間的差異:
資料夾 EndNote Zotero
儲存書目 難以格式化 手動建立
RIS檔案匯入
中文支援差
手動建立
RIS檔案匯入
網頁匯入
中文支援佳
保存檔案 難以建立檔案之間的關聯 可,還可以保存文獻的網頁
全文檢索 不可
整理方式 資料夾 分類、筆記 收集(=分類)、筆記、標籤
建立引文 不可 可,可擴充引文格式。國內知名度高,許多圖書館致力於這塊。 可,可擴充引文格式。
作業系統 不限制 Windows, Mac Windows, Mac, Linux
費用 免費 收費 免費
統計軟體:R
rcmdr
R語言,一種自由軟體程式語言與操作環境,主要用於統計分析、繪圖、資料探勘。R本來是由來自紐西蘭奧克蘭大學的Ross Ihaka和Robert Gentleman開發(也因此稱為R),現在由「R開發核心團隊」負責開發。
R內建多種統計學及數字分析功能。R的功能也可以透過安裝套件(Packages,用戶撰寫的功能)增強。因為S的血緣,R比其他統計學或數學專用的編程語言有更強的物件導向(物件導向程式設計)功能。R的另一強項是繪圖功能,製圖解析度可達到印刷的需求,也可加入數學符號。
雖然R主要用於統計分析或者開發統計相關的軟體,但也有人用作矩陣計算。其分析速度可媲美專用於矩陣計算的自由軟體GNU Octave和商業軟體MATLAB。
但是R對於學生來說最大的門檻,在於其R的大多數操作是透過R語言進行,圖形操作介面並不若SPSS之類的方便操作。對此,R也有自由軟體R Studio這個整合開發環境可供使用,但是使用邏輯還是跟SPSS有所差異,很難說是可以直接用R取代SPSS。另一種方式是用類似Excel的LibreOffice Calc安裝R4Calc套件來操作R,但這部份仍有待深入研究。


結語:教給學生一個自由的未來

以付費的商業軟體作為教學的內容,會對於無力購買軟體的學生帶來困擾,不如教導學生使用免費的自由軟體,才能帶給學生終身受用的技能。本文介紹了取代商業軟體的五種自由軟體:以LibreOffice取代Microsoft Office、以GIMP取代Adobe Photoshop、以PostgreSQL取代Microsoft SQL Server、以Zotero取代EndNote、以R取代IBM SPSS,並附上簡單的介紹與教學資源,希望作為大家改以自由軟體進行教學的參考。
我國教育部也有一個部門「教育部自由軟體數位資源推廣服務中心」,以及國內重要的自由軟體中心「自由軟體鑄造場」(電子報值得一看),有許多相關資源可以從中取得。還有朝陽科技大學的洪朝貴副教授也針對的自由軟體應用在教育上有諸多貢獻。
我主張以自由軟體取代商業軟體也有一段期間,許多朋友都抱持著否定的意見。首先,對於自由軟體介面設計往往不比商業軟體美觀、好操作的這點來說,其實是關注人數多寡的問題。大部分自由軟體都是以開放原始碼形式,可供專業的程式設計師進行再製、改良,因此自由軟體的改良可以不受限商業公司的發展,而是藉由大量使用者的需求來鼓勵開發社群積極改善。若擅長資訊的老師有教學上的需求,甚至也可以自行動手開發外掛模組,讓自由軟體教學更為順利。
另一個否定的看法是,「若學生未來上班地點都使用Photoshop,那教GIMP有用嗎?」從教學的角度來看,電腦軟體教學不應該是微軟或Adobe的軟體訓練,而應該是教導學生一種「技能」,像是文書處理技能、電腦繪圖技能。上述我介紹的五種自由軟體,在操作介面上儘管都與商業軟體有很大的差異,但是核心的技能與邏輯並沒有太大的差別。事實上,教學時也應該注重的是概念上的認識,而不是教導細節按鈕的點選順序而已。不然商業軟體升級之後,學生也一樣不知道怎麼操作。就像是Office 2003的傳統介面改到Office 2007的Ribbon介面,很多人都慌了。
從另一個角度來看,如果熟悉GIMP而能夠做出媲美Photoshop的效果的話,也就是意味著可以用免費的自由軟體來取代昂貴的商業軟體,這對於經費成本精打細算的公司來說,又何嘗不是一件好事?
我知道還是會有人問:「那些商業公司到底要怎麼賺錢呢?」其實賺錢的方式還是很多,不過我想這就不是我這篇想要探討的範圍了。
至少,我認為在教育上,不應該是以昂貴的商業軟體綁住學生的自由。因此,我一直夢想著可以用自由軟體的R或LibreOffice的Calc,來作為教研究生統計的使用工具,而讓研究生不再需要受限於必須使用SPSS才能計算獨立樣本t檢定之類的推論統計。看到實驗室的同事開始使用R來做資料分群,我感覺到我們所上的教育又埋下了一顆自由的種子,因而感到欣喜。
我相信,這種透過教育紮根在學生心中的自由種子,未來一定可以成為促進整體社會進步的自由果實! (more...)