:::

資料檢定級導論: 從數學到統計 / Inferential Statistics: An Introduction

資料檢定級導論: 從數學到統計 / Inferential Statistics: An Introduction

image

這是巨量資料探勘與統計應用課程的投影片「資料檢定級導論: 從數學到統計」。本單元是屬於系列課程中的「資料檢定級」,是銜接「資料敘述級」之後下一個階段的導言課程。許多人學習統計時,都知道統計分成敘述統計(descriptive statistics)推論統計(inferential statistics),前者很好理解,但為何需要推論統計?而這兩者又跟高中以前學的數學有什麼不一樣呢?

要理解推論統計,必須要先理解母體模型的概念。我們手邊看到的資料,在推論統計的框架中,它僅僅只是眾多樣本中的一次抽樣。因此我們在比較不同的樣本群時,注重的不是樣本的層次,而是樣本背後代表的母體模型。樣本對應到母體模型所計算出的檢定統計量,以及此檢定統計量可能出現的機率,才是推論統計的思維。

老實說,這個概念很難懂。因此我試著用自己的方式來詮釋這套思維,並在之中強調「檢定統計量」的核心概念,希望能讓同學比較容易理解推論統計的運作方式。因為本篇只是導言,並沒有任何練習內容或測驗。

(more...)

最佳化問題:規劃求解 / Optimization Problem: Solver

最佳化問題:規劃求解 / Optimization Problem: Solver

image

這是巨量資料探勘與統計應用課程的投影片「最佳化問題:規劃求解」。本單元雖然被歸類系列課程中的「資料敘述級」,但其實它跟其他的資料分析方法有很大的不同:規劃求解會直接給你明確的答案。在本單元中,處理資料類型為「連續」類型。

「規劃求解」是屬於「最佳化問題」領域中的技術。雖然同樣是處理數字,但「最佳化問題」並非「統計」,而跟「資料探勘」領域比較相近。在大部分資料探勘的工具裡,要解決的問題比較明確、使用者較難以自行控制。而許多資料探勘介紹的基因演算法(Genetic Algorithm, GA)又是「最佳化問題」中的進階技術,一般使用者難以輕易上手。所以我這個單元介紹的是「最佳化問題」中比較基礎的「規劃求解」。

「工廠在有限的物料跟時間內,要選擇生產多少產品,才能賺到最多利潤?」或者是「圖書館有10萬元經費,不同讀者想看不同類型的書,要怎麼買才能在有限經費內滿足讀者需求?」像是這些問題,都可以用規劃求解來找出答案。本單元利用Google試算表Solver來實作規劃求解,學生不用自己動手算喔。這個單元包含了三個實作學習單,供同學邊看邊練習。

(more...)

AI能夠告訴你未來?用Weka實作多變項時間序列預測 / Time Series Forecasting with Weka

布丁布丁吃布丁

AI能夠告訴你未來?用Weka實作多變項時間序列預測 / Time Series Forecasting with Weka

image

這是本學期我在政大圖檔所專題討論課程中介紹的內容,主題是「用Weka實作多變項時間序列預測」。傳統的時間序列分析(time series analysis)著重於以統計為主的ARIMA模型,分析過程著重於模型的選擇與判斷,一般僅以時間變項進行預測。Weka則是從資料探勘中迴歸(regression)的角度來實作時間序列預測(time series forecasting),使用的預測演算法可以是線性迴歸(Linear Regression)、類神經網路預測(MultilayerPerceptron)、或支持向量機迴歸(SMOreg),甚至可以加入疊加變項(overlay),就能實作多變項的時間序列預測。

本文除了放上我在專題演講的投影片之外,也將使用Weka進行時間序列預測的做法整理出來,供大家一步一步操作、學習。

(more...)

AI解籤不用1秒,廟公要失業了嗎?Weka的中文自動評分:預測詩籤的等第 / Automatic Chinese Text Scoring in Weka: Rating Fortune Slips

AI解籤不用1秒,廟公要失業了嗎?Weka的中文自動評分:預測詩籤的等第 / Automatic Chinese Text Scoring in Weka: Rating Fortune Slips

image

人工智慧要為非結構性的文本型資料評分,要評到精準是很難,但如果只是簡單地給個評分的話,其實是非常簡單的事情,不需要寫任何程式碼。繼我之前寫的「Weka試跑文本評分」,這次我一樣直接使用Weka來為「雷雨詩籤百首」中的籤文與等第建模,做到Weka看到「一舟行貨好招邀 積少成多自富饒 常把他人比自己 管須日後勝今朝」就知道是「上吉」。此外,還能透過特徵選取(select attributes)功能來篩選出影響等第的籤文關鍵字喔。

(more...)

從PHP的Fat-Free Framework框架來看用Node.js的Express框架開發網站的心得 / Fat-Free Framework in PHP vs. Express in Node.js: Pros and Cons of Node.js

從PHP的Fat-Free Framework框架來看用Node.js的Express框架開發網站的心得 / Fat-Free Framework in PHP vs. Express in Node.js: Pros and Cons of Node.js

image

之前我跟學弟嘗試使用Node.js的Express框架來開發網站。本想著前端跟後端都可以統一使用JavaScript,但實際嘗試之後才發現Express框架問題頗多。這兩天為了把Zotero的資料庫寫成網站,我回頭使用PHP的Fat-Free Framework框架來開發,順手程度讓我感動到痛哭流涕,不禁想要寫一篇來整理一下Node.js的各種問題。這篇就閒聊一下吧。

(more...)

社會網絡分析之隨機圖模型 / Social Network Analysis: Random Graph Models

社會網絡分析之隨機圖模型 / Social Network Analysis: Random Graph Models

image

這是介紹「PAJEK 蜘蛛: 社會網絡分析技術」這本書中的第13章「隨機圖模型」的投影片。這本書使用社會網絡分析工具「pajek 蜘蛛」來分析研究者所蒐集的實測社群本身可能符合或不符合那些隨機圖模型(random graph models)。書中介紹的隨機圖模型包括伯努利隨機圖模型(Bernoulli random graph model)、條件統一隨機圖模型 (Conditional uniform random graph models)、小世界模型 (small world model)與優先連接模型 (scale free model),它們有各自的假設背景、建構網絡的隨機過程以及展現出來結構特徵。本書以蒙特卡洛模擬(Monte Carlo simulation)來建構各個隨機圖模型的信賴區間,藉以判斷實測網路與這些隨機圖模型的異同。

(more...)

感謝大家支持,捐款功能上線囉! / New Feature: Donation

布丁布丁吃布丁

感謝大家支持,捐款功能上線囉! / New Feature: Donation

image

你覺得「布丁布丁吃什麼?」的文章對你有幫助嗎?現在本Blog使用綠界科技的實況主收款功能加入了贊助捐款的功能囉!您可以自由決定捐款金額,並可接受信用卡、網路ATM、ATM櫃員機、便利商店代碼付費等方式付款喔!

(more...)

藍牙耳機一直斷線?解決Android藍牙耳機的斷線問題 / How to solve Bluetooth randomly Disconnecting Issue on Android Smartphone

藍牙耳機一直斷線?解決Android藍牙耳機的斷線問題 / How to solve Bluetooth randomly Disconnecting Issue on Android Smartphone

image

因為我原本的手機電池膨脹了,所以我最近買了另一隻沒有耳機孔的Android智慧型手機HTC U11,想說搭配之前買的藍牙耳機SAMZU神族就可以解決這個問題,不過在藍牙連線狀態下連上行動網路時,藍牙耳機就會斷線。而行動網路沒連線時,藍牙耳機又會恢復連線。

後來我在網路上找到了katieelva的建議,在藍牙裝置配對的時候,用於功能取消勾選「聯絡人分享」,之後藍牙耳機就再也沒有發生異常斷線的問題了。這篇將這個方法整理一下,供大家參考。

(more...)

社會網絡分析之塊模型 / Social Network Analysis: Block Modeling

社會網絡分析之塊模型 / Social Network Analysis: Block Modeling

image

這是介紹「PAJEK 蜘蛛: 社會網絡分析技術」這本書中第12章「塊模型」的投影片。這本書使用社會網絡分析工具「pajek 蜘蛛」來找出社群中人與人之間互動的共同模式,稱之為「塊」(block)。在塊模型中是以鄰接矩陣作為分析工具,而本章則介紹了塊模型的基本概念,全型塊(complete)、無型塊(null)、正則塊(regular)等塊的類型,並介紹核心──週邊架構(core-periphery structure)、與等級架構(hierarchical structure)等常見的塊模型。值得注意的是,蜘蛛的塊模型處理方式跟UCINet中塊模型的處理方式不同,我個人覺得蜘蛛的塊模型分析比較讓人容易理解。

(more...)

「布丁布丁吃什麼?」開站以來的網頁瀏覽記錄突破四百萬 / Over 4 Million Visits Record!

布丁布丁吃布丁

「布丁布丁吃什麼?」開站以來的網頁瀏覽記錄突破四百萬 / Over 4 Million Visits Record!

image

上週在看統計記錄的時候,我還在想應該還有一段時間才會突破四百萬吧。不過今天打開一看,網頁瀏覽記錄居然已經是401萬了。這篇記錄一下上次看到三百萬瀏覽次數的時間,以及我通常會看那些網頁瀏覽記錄資料,最後跟大家聊聊本blog的一些熱門文章。

(more...)

資料聚類:分群 / Clustering

資料聚類:分群 / Clustering

image

這是巨量資料探勘與統計應用課程的投影片「資料聚類:分群」。本單元是屬於系列課程中的「資料敘述級」,處理資料類型主要是「連續」類型資料,不過其實Weka的K平均法也能處理「類別」資料就是了。

本單元的「分群技術」屬於「資料探勘」(data mining)領域的其中一個主題,而此技術是繼前面統計圖表、資料的中心與離度之上,可用於描述多維度、超大量複雜資料的有效方法。如果你拿到一份複雜的資料,不知道該怎麼解析它的時候,不妨先丟進分群跑看看資料會有什麼特徵吧。

我為了這個單元開發了「Weka分群結果分析器」,可以搭配Weka中K平均法分群一起使用。這個單元包含了四個實作學習單,供同學邊看邊練習。

(more...)

在Linux中用指令新增排程 / How to Create a Cron Job via Shell Script

在Linux中用指令新增排程 / How to Create a Cron Job via Shell Script

image

最近我想要為Zentyal加上排程備份的時候,發現使用Shell Script指令修改 /etc/crontab 檔案並不會實際上觸發排程(儘管如果用vim /etc/crontab 是可以觸發排程的)。後來我參考TheBonsai的建議,用crontab指令來新增排程,這樣就可以成功。

(more...)

資料的中心與離度 / Measures of Center and Spread

資料的中心與離度 / Measures of Center and Spread

image

這是巨量資料探勘與統計應用課程的投影片「資料的中心與離度」。本單元是屬於系列課程中的「資料敘述級」,處理資料類型主要是「連續」類,但也其中的眾數也可以描述「類別」類型。

這個單元講述的是各位同學國中就學過的均值跟離度的算法,包括平均數、中位數、眾數、最大值、最小值、四分位數、變異數與標準差。這次我們的重點不在於計算,而是要瞭解均值跟離度如何有效地用於描述資料。跟以前大多著重在公式跟按計算機不同,現在我們就用Google試算表的函式計算均值跟離度即可。本單元包括了五個實作學習單,供同學邊看邊練習。

(more...)

資訊視覺化:統計圖表 / Data Visualization: Statistical Charts and Diagrams

資訊視覺化:統計圖表 / Data Visualization: Statistical Charts and Diagrams

image

這是巨量資料探勘與統計應用課程的投影片「資訊視覺化:統計圖表」。本單元是屬於系列課程中的「資料敘述級」,處理資料類型包括了「類別」跟「連續」兩種。

本單元一開始講述了「資料敘述級」的分析步驟,而這個單元則是步驟中「將資料畫成圖」的一環。本單元跟同學介紹了資訊視覺化的概念、統計圖表及其繪製講述,然後各種資料類型可繪製的統計圖表。這個單元包含了四個實作內容。

(more...)

資料的來源與形態 / Data Source and Format

資料的來源與形態 / Data Source and Format

image

這是巨量資料探勘與統計應用課程的投影片「資料的來源與形態」。本單元是屬於系列課程中的導論「資料處理」。本單元先定義資料的形態,包括非結構化資料跟結構化資料,再來講述如何從開放資料(open data)中取得資料來源,以及資料的各種格式。本單元也說明這系列課程所使用的Google試算表的主要操作方式,以及學生填寫和繳交學習單作業的程序。這個單元包含一個測驗、兩個實作內容。

(more...)

數位繪圖開心畫:線稿、上色與遊戲 / Let's Draw on the Computer: Outline, Colour and Gamify

數位繪圖開心畫:線稿、上色與遊戲 / Let's Draw on the Computer: Outline, Colour and Gamify

image

這是2017年我在國立空中大學數位故事研習社講的主題:「數位繪圖開心畫:線稿、上色與遊戲」。這次著重的是借助一些免安裝的免費工具來進行簡單的數位繪圖,是開心畫的課程。而趁著人工智慧風潮的盛行,課程中也加入了Google的AutoDraw繪製線稿Python的PaintsChainer智慧上色等內容。最後再將成品做成滑塊拼圖遊戲,將繪製的成果分享給其他朋友。

(more...)

你玩過滑塊拼圖嗎?可自訂的HTML5滑塊拼圖遊戲 / Customizable Sliding Puzzle in HTML5

你玩過滑塊拼圖嗎?可自訂的HTML5滑塊拼圖遊戲 / Customizable Sliding Puzzle in HTML5

image

畫了一張圖、拍了漂亮的照片,還可以做什麼加值應用呢?我參考Venkat Pola的程式碼,將我很喜歡玩的遊戲「滑塊拼圖」做成了可直接在瀏覽器執行的線上遊戲,而滑塊拼圖的圖片還可以由使用者自訂喔。這篇就來說明我做的這個滑塊拼圖遊戲吧。

(more...)

修復Proxmox VE:用指令強制刪除虛擬機器 / Fix Proxmox VE: Remove OpenVZ Container by a Command

布丁布丁吃布丁

修復Proxmox VE:用指令強制刪除虛擬機器 / Fix Proxmox VE: Remove OpenVZ Container by a Command

image

本篇是介紹如何處理在Proxmox VE中無法在網頁管理介面(web-based management)中刪除OpenVZ的問題。這個錯誤是因為OpenVZ虛擬機器的本體檔案在刪除、備份、還原的途中被強制中斷,導致OpenVZ檔案遺失、但是設定檔(*.conf)卻還在節點(node)之中,所以在網頁管理介面中仍然會出現那個虛擬機器,但是無法藉由網頁管理介面刪除。這時候只要用指令列中移除在 /etc/pve/openvz/ 的設定檔,刪不掉的虛擬機器就會消失了。

(more...)

HTML編輯器自己做!布丁版TinyMCE編緝器 / An Online HTML Editor: Customized TinyMCE Editor

HTML編輯器自己做!布丁版TinyMCE編緝器 / An Online HTML Editor: Customized TinyMCE Editor

image

說到編輯HTML的編輯器,你會想到那個工具呢?純寫程式碼用的Sublime TextNotepad++?給不會程式碼用的Word轉存HTML格式?混合編輯的Dreamweaver?真要我說的話,目前我看過最好、最乾淨、各種編輯器之間轉換最漂亮的編輯器,就是TinyMCE

TinyMCE一般只是作為網站裡面將<textarea>轉變為所見即得編輯器的小工具,能像是編輯Word一樣地編輯HTML網頁,最後產生的HTML程式碼又乾淨又漂亮。我因為太常使用TinyMCE來編輯HTML網頁程式碼,特別是表格的編輯,所以乾脆索性把TinyMCE做成獨立的布丁版TinyMCE編輯器,讓人需要的時候就直接打開網頁、使用TinyMCE編輯網頁吧。

(more...)

用網頁來做合併列印!HTML合併列印小工具 / Online HTML Mail Merger

用網頁來做合併列印!HTML合併列印小工具 / Online HTML Mail Merger

image

如果要用試算表資料搭配有格式的文件,批次地產生大量檔案的話,要怎麼呢?Word為主的合併列印方案都只能在單一檔案中產生許多重複範本的內容,不符合我的需求。於是我乾脆重新寫一個能夠以CSV試算表檔案搭配HTML網頁範本產生合併列印效果的線上版合併列印小工具:HTML Mail Merger。它會讀取CSV中的欄位資料以及檔案名稱(filename)欄位,以此批次產生取代以大括弧「{}」夾住的佔位符號和指定檔案名稱的檔案。合併列印再也不用仰賴Word,直接線上就處理完成吧。

(more...)

就是要用Google雲端硬碟教育版的10TB空間!Google備份與同步處理的做法 / How to use Google Drive for Education with Backup and Sync from Google

布丁布丁吃布丁

就是要用Google雲端硬碟教育版的10TB空間!Google備份與同步處理的做法 / How to use Google Drive for Education with Backup and Sync from Google

image

我在之前寫的「想用無限空間沒那麼容易!Google Drive與伺服器整合失敗記錄 」中提到想用ownCloudgoogle-drive-ocamlfuse來使用Google雲端硬碟教育版的10TB空間,不過後來Google自己推出了Google備份與同步處理 (Backup and Sync from Google),那我也躍躍欲試地用它來備份電腦中的Zotero檔案囉。然而,Google雲端硬碟教育版似乎是禁止搭配Google備份跟同步處理功能一起使用,雖然軟體依然可以備份電腦上的檔案,但卻沒辦法在Google雲端硬碟網頁上直接看到已經備份的檔案內容。儘管如此,我們依然可以用Google備份與同步處理的「Visit Google Drive on the web」來找到已經備份的資料夾。讓我們看看怎麼做吧。

(more...)

啟動Zotero時發生錯誤?解決zotero.sqlite-jorunal鎖定問題 / How solve the Error while Starting Zotero: Could not open connection to zotero.sqlite

布丁布丁吃布丁

啟動Zotero時發生錯誤?解決zotero.sqlite-jorunal鎖定問題 / How solve the Error while Starting Zotero: Could not open connection to zotero.sqlite

image

最近我試著用Google備份與同步處理 (Backup and Sync from Google)來備份Zotero的時候,Zotero卻發生了「啟動Zotero時發生錯誤。」的問題。幾經檢查之後,才發現是Google備份跟Zotero共同鎖定了「zotero.sqlite-journal」檔案,這造成Zotero無法正常啟動。解決方法是暫停Google備份、刪除zotero.sqlite-journal這樣,這樣就可以正常開啟Zotero了。

(more...)

網路測速心得:Speedtest、手機、熱點共享 / What I learned from Network speed testing

網路測速心得:Speedtest、手機、熱點共享 / What I learned from Network speed testing

image

為了考慮更換手機電信業者方案,我最近幾天試著學習很流行的Speedtest來測試網路網速。為了能夠完整記錄測試網速、手機、電信業者與地點等資訊,我整理了一套Speedtest1 secnoteGoogle Photo記錄的方法。後來發現到光測手機速度還不夠,手機熱點分享給筆電時,網路速度會大打折扣,不得不注意這件事情。而在Windows筆電上雖然也可以用Speedtest網頁版來測網路速度,但卻比Android系統上用Speedtest APP測得速度慢了很多。這之間的差異會造成使用者對網路速度感受帶來不小的落差,不得不注意。

(more...)

聚焦於你感興趣的關聯規則:Weka的HotSpot演算法 / Association Rule Mining with Specific Right-Hand-Side: HotSpot Algorithm in Weka

布丁布丁吃布丁

聚焦於你感興趣的關聯規則:Weka的HotSpot演算法 / Association Rule Mining with Specific Right-Hand-Side: HotSpot Algorithm in Weka

image

說到資料探勘(data mining),大部分的應用都是指購物籃分析(market basket analysis)中的關聯規則分析(association rule mining),也就是Apriori演算法。但傳統的Apriori有著許多限制:難以處理多維度資料、不能處理連續型的數值資料,最重要的是,研究者所感興趣的結果往往難以被探勘出來。後來我找到了另一種關聯規則分析演算法:HotSpot,它不僅可以解決上述Apriori所遭遇的問題,我還用AutoIT額外撰寫了資料整理的程式,使得HotSpot能夠呈現更多我們所關住的結果。

(more...)

循序樣式探勘:以Python的PrefixSpan實作 / Implement Sequential Pattern Mining with PrefixSpan in Python

布丁布丁吃布丁

循序樣式探勘:以Python的PrefixSpan實作 / Implement Sequential Pattern Mining with PrefixSpan in Python

image

我之前用R的arulesSequences來做循序樣式探勘,但是在輸入的資料量過大的時候,arulesSequences沒辦法順利運作。這個問題就是循序樣式探勘AprioriAll需要產生候選項目的後遺症。所以我另外找尋了不需要產生候選項目的循序樣式探勘演算法,最後找到的就是以Python實作的PrefixSpan。我參考chuanconggao發佈在GitHub的PrefixSpan-py專案,調整它輸入資料跟輸出結果的方式,把它整理成更容易在Windows環境下使用。所有程式碼都公開在GitHub的保存庫「PrefixSpan-py」上,歡迎有需要做循序樣式探勘的朋友來使用。

(more...)

Zentyal的DLLL-CIAS Router更新記錄 / DLLL-CIAS Router Moduel Update

Zentyal的DLLL-CIAS Router更新記錄 / DLLL-CIAS Router Moduel Update

image

DLLL-CIAS Router是我在開放原始碼的網路路由器Zentyal上所開發的模組。這次我在Zentyal 4.1版本上再度開發了新版本的DLLL-CIAS Router。這個版本是特別為了DLLL-CIAS架構中的網路管理伺服器(Router)、資料儲存伺服器(Storage)、虛擬機器管理伺服器(Virtual Environment)、以及虛擬機器(Virtual Machines)的架構所設計,並且融入知識管理、允許重複網域名稱的功能,最後則是留下完整的安裝方法與自動備份的功能,即使Zentyal再度毀損也能夠輕易地將之還原。這篇記錄著這一版本DLLL-CIAS Router所增加的各種功能。

(more...)

從捷徑直接開啟瀏覽器的無痕/私密模式 / Start Browser in Incognito / InPrivate Mode

從捷徑直接開啟瀏覽器的無痕/私密模式 / Start Browser in Incognito / InPrivate Mode

image

網頁瀏覽器的無痕/私密模式是讓使用者在網路上瀏覽的資訊在關閉瀏覽器之後立刻移除的模式。這可以避免一些使用者在瀏覽器登入卻忘記登出,導致下一位使用者可以任意使用別人帳號的窘境。瀏覽器的無痕/私密模式最適合在公用電腦上使用。

不論是Google Chrome、Firefox、Internet Explorer各家瀏覽器都有無痕模式,有些稱之為私密瀏覽模式(InPrivate),但大多都得讓使用者手動開啟,做法請見「上網記錄不留痕!各家瀏覽器的隱密模式大公開」。不過,其實各家瀏覽器也可以在開啟捷徑時搭配使用參數來直接啟用無痕/私密模式,這篇就整合各家瀏覽器的做法,一併說明如何建立直接開啟無痕/私密模式的專用捷徑。

(more...)

修復Proxmox VE:網路錯誤「No route to host (595)」 / Fix Proxmox VE: Network error “No route to host (595)”

布丁布丁吃布丁

修復Proxmox VE:網路錯誤「No route to host (595)」 / Fix Proxmox VE: Network error “No route to host (595)”

image

本篇是修復Proxmox VE 3/4的集叢(Cluster)中遇到「No route to host (595)」錯誤的解決方法。這個錯誤是因為Proxmox VE伺服器變更了網路設定,但是並沒有完全設定好的關係。以下說明造成錯誤的原因以及解決方法。

(more...)

修正NetBeans中SFTP出現的錯誤「Algorithm negotiation fail」:更新com-jcraft-jsch.jar / How to fix NetBenas’s SSH problem “Cannot connect to server … Algorithm negotiation fail”: Update com-jcraft-jsch.jar

修正NetBeans中SFTP出現的錯誤「Algorithm negotiation fail」:更新com-jcraft-jsch.jar / How to fix NetBenas’s SSH problem “Cannot connect to server … Algorithm negotiation fail”: Update com-jcraft-jsch.jar

image

今天使用NetBeans的時候,發現它內建的SFTP上傳檔案功能失效無法運作了。查了一下StackOverflow上的解答,赫然發現是NetBeans使用的JSch函式庫版本過舊,導致無法正常使用。這篇將說明如何更新NetBeans的JSch函式庫,讓NetBeans的SFTP功能能夠正常運作。

(more...)

Weka鳥的動圖 / Spin Animation of Weka Bird

布丁布丁吃布丁

Weka鳥的動圖 / Spin Animation of Weka Bird

image

繼上次我做了一個縮小版的Weka動圖之後,因應朋友想看高解析度動圖的需求,我又作了兩個Weka的GIF動圖。總覺得很有趣,擺上來做個記錄。

(more...)

資料分析到沒硬碟空間了?設定R的暫存目錄 / How to Change Directory for Temporary Files in R

布丁布丁吃布丁

資料分析到沒硬碟空間了?設定R的暫存目錄 / How to Change Directory for Temporary Files in R

image

最近用R在跑循序樣式勘探的時候,赫然發現程式居然跑到讓整台電腦都當機。仔細檢查之後才發現,原來R在分析的時候會用到大量的暫存空間,而這個暫存空間預設會擺在系統磁碟機當中。要如何將R的暫存目錄設到其他地方呢?網路上有不同的說法,最後我終於找到了一個解決方案,所以撰寫這篇作為記錄。

(more...)

以AutoIT實作Weka預測執行檔 / Making Predictions with Weka Executable File: an AutoIT Application

以AutoIT實作Weka預測執行檔 / Making Predictions with Weka Executable File: an AutoIT Application

image

繼前一篇使用指令列來操作Weka進行預測之後,這一篇就要用AutoIT來操作Weka進行預測,並以AutoIT將預測結果傳送給其他程式,例如傳送到Google表單中記錄預測結果。

(more...)

大家一起來預測吧!使用Weka指令列實作預測功能 / Making Predictions with Weka in Command Line

大家一起來預測吧!使用Weka指令列實作預測功能 / Making Predictions with Weka in Command Line

image

Weka除了用Explorer來預測未知之外,還能透過指令列直接操作,以便跟其他程式,像是AutoIT的Run()進行整合。這篇就是要示範如何使用指令列來操作Weka進行SMOLibSVM兩種分類器的預測。

(more...)

最容易整合的指令列播放器:MPV使用說明 / Customizing a Media Player for Your Application: MPV Player Usage

最容易整合的指令列播放器:MPV使用說明 / Customizing a Media Player for Your Application: MPV Player Usage

image

最近常常要在Windows桌面環境中設計數位學習教學活動。有時候我們會需要使用全螢幕播放影片、聲音或圖片,甚至需要一張全螢幕的黑幕或白幕當背景。這種時候開放原始碼高度可自訂化的MPV全能播放器就能夠順利派上用場。搭配AutoIT高度自訂腳本,我們就能整合多個不同的Windows應用程式來完成一個豐富的教學活動。

(more...)

如何在Weka中顯示中文:調整檔案編碼為UTF8 / How to Process Chinese Data in Weka: Set fileEncoding to utf-8

如何在Weka中顯示中文:調整檔案編碼為UTF8 / How to Process Chinese Data in Weka: Set fileEncoding to utf-8

image

在Windows中使用Weka來處理非英文語系的資料時會變成亂碼,這是因為它的參數設定預設為Cp1252 (拉丁字母字元編碼)。只要在Weka設定檔RunWeka.ini中修改fileEncoding為utf-8,就能讓Weka順利顯示中文。

(more...)

一秒變灰階!Windows圖片轉灰階工具 / Color Image to Grayscale Converter

一秒變灰階!Windows圖片轉灰階工具 / Color Image to Grayscale Converter

image

我在掃描的文件會有灰階跟彩色混雜的情況。用彩色模式掃描只有黑白的圖片,事後整理時會佔很大的空間。所以我就繼續「布丁式圖片工具箱」的專案,做了一個「布丁式圖片灰階工具」出來用了。這個「布丁式圖片灰階工具」主要是用AutoIT操作ImageMagick圖片工具來處理圖片,你也可以調整config.ini的設定來更換ImageMagick的指令。

(more...)

試作歷程序列資料的動態生成模型:結合多層次感知機與增強學習的應用 / Developing a Dynamic Path Generator base on Users’ Activity Logs: a MLP and Reinforcement Learning Approach

試作歷程序列資料的動態生成模型:結合多層次感知機與增強學習的應用 / Developing a Dynamic Path Generator base on Users’ Activity Logs: a MLP and Reinforcement Learning Approach

image

繼前一篇談完歷程資料的分析方式之後,本篇則是從機器學習的角度切入,藉由分析不同背景使用者的操作歷程序列資料,並將對歷程結果的評價作為輸入資料,以此訓練一套懂得不同特質使用者會如何操作的多層次感知機(MLP)預測模型。接著再以任意一位使用者為背景,用此模型來生成一套評價較好的操作序列路徑。為了避免模形產生的路徑陷入無限迴圈,本篇以增強學習(Reinforcement learning)來懲罰會走到迴圈的序列路徑。

結果最後產生的序列路徑過度受到增強學習的影響,使得使用者的背景因素與歷程評價的影響變得微乎其微。這篇是為了記錄這一連串開發的過程、思維,以及未來的改進方向。這整套系統皆以JavaScript網頁開發,全部原始碼與資料都放在GitHub上,線上展示網址為: https://pulipulichen.github.io/dynamic-generative-path/

(more...)

談歷程資料分析:從摘要統計到個別序列 / Analyzing Activity Logs: From Summary Statistics to Individual Sequence

談歷程資料分析:從摘要統計到個別序列 / Analyzing Activity Logs: From Summary Statistics to Individual Sequence

image

最近我試著應用機器學習到歷程序列資料的分析上,想說在這裡記錄一下進度與想法。不過在講歷程序列資料的分析之前,我想有必要先跟大家回顧一下所謂的歷程資料(activity logs)中的摘要統計與個別序列的差別,以及分析歷程統計資料和歷程序列資料的可能做法,這樣才能說明為什麼我要將機器學習應用在歷程序列資料分析上。這些方法跨了相當多領域,有些技術解釋與名詞選擇不甚嚴謹,望各位先進不吝指教。

(more...)

你還在用WinRAR壓縮嗎?是該改用ZIP格式來壓縮了 / The Better File Compression Format: ZIP

你還在用WinRAR壓縮嗎?是該改用ZIP格式來壓縮了 / The Better File Compression Format: ZIP

image

在華文圈,很多人都使用WinRAR來壓縮檔案,電腦裡面也會裝WinRAR軟體。不過,比起RAR格式,我更推薦大家使用都是ZIP格式壓縮。這篇來談談為什麼這樣說的理由。

(more...)