:::

資料檢定級導論: 從數學到統計 / 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...)