2018年4月27日 星期五

PRML 的 python 實現安裝問題

就不說 Pattern Recognition and Machine Learning 是什麼神書了

另一位神人將書中程式轉成 jupyter notebook 放在 https://github.com/ctgk/PRML

要另外注意兩件事,一是 python 要 3.6 以上版本,二是安裝後(py setup.py install)才能正常執行,參 https://github.com/ctgk/PRML/issues/4

作者的頭像滿可愛的啊哈哈哈哈哈哈


2018年4月14日 星期六

使用 oauth2client 寄送 gmail 夾檔問題解決方法

使用程式經 gmail 寄送夾檔,官網是這麼說的

反正照作是不 work 的,問題出在 urlsafe_b64encode 這行,解法在此 , 同連結中有人附上完整的範例

(莫非是G社故意埋的彩蛋?)



另外要注意 SCOPES 參數的設置,免得跳出 403 "insufficient permission" 錯誤


2018年4月12日 星期四

Introduction to Machine Learning with Python 中範例的 numpy 版本問題

參 https://blog.csdn.net/dlhlsc/article/details/54772899 , https://stackoverflow.com/questions/37267399/importerror-cannot-import-name-numpy-mkl

總之在安裝了 scikit-learn 後,import sklearn 時若出現以下錯誤

from numpy._distributor_init import NUMPY_MKL  # requires numpy+mkl

則請到 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下載對應版本的 NumPy 並安裝即可

我的情況是先執行

pip install https://download.lfd.uci.edu/pythonlibs/u2yrk7ps/numpy-1.13.3+mkl-cp35-cp35m-win_amd64.whl

但未成功,故先下載

wget https://download.lfd.uci.edu/pythonlibs/u2yrk7ps/numpy-1.13.3+mkl-cp35-cp35m-win_amd64.whl

再安裝

pip install numpy-1.13.3+mkl-cp35-cp35m-win_amd64.whl

20200507 更新:建議使用 anaconda 來安裝,其版本較為一致


2018年3月27日 星期二

win10 上設定需登入認證的 proxy

參考這個討論串

要注意兩個地方,一是 Credential Manager 的中文是 "認證管理員" ,二是新增認證位置為 "windows認證" 下的 "新增一般認證"

2018年3月14日 星期三

win10 上安裝 emacs 25.3 新增套件的注意事項


  1. 要裝些非預設 dll ,參 https://gist.github.com/okorz001/7715b40104ed0446bd228b40d7876674
  2. M-x package-initialize 後才能執行 package-install (即在 *Packages* 視窗中按下 x ),參 https://github.com/hlissner/doom-emacs/issues/444

2018年2月23日 星期五

自然語言處理的另類選擇: spaCy 初探

安裝見 https://spacy.io/usage/ ,線上示範參 https://demos.explosion.ai/displacy/



速度上的確是比 Stanford coreNLP 快一點 ( 但也沒有到官方文件說的一個數量級那麼誇張 ) ,分析有時會比較合理,但 google scholar 上參考數很少

問題可能是出在安裝上,對 visual studio 和 c 的編譯不熟的話,安裝會有極大困難

( 我想這也是為何在 github 上, spaCy 的人氣反而超過 Stanford coreNLP 的原因 )

上圖是 spaCy 的分析結果,下圖是同一句子在 coreNLP 的分析,其中 calls 都被誤認為是名詞

一個句子/子句的中心就是動詞, spaCy 的分析結果很尊重這個原則。


在一些日常的英文中, "with" 這個單字的解析在 spaCy 也是比較正確的,而 spaCy 出錯時, coreNLP 也不見得正確。但是在一些很簡單的範例上, spaCy 會錯得很離譜,而 coreNLP 卻能得到正確結果。而且 spaCy 目前還不能處理中文。 只能說有一好就沒兩好吧?

2018年2月17日 星期六

使用 perl one liner 進行檔案搜尋取代的流程 ( SOP ) ( 三 )


(上圖是 kuso 快遞公司 FedEx)

承接 2013 年 使用perl one liner進行檔案搜尋取代的流程(SOP) 一文,如果要串接多個層次的處理也是沒有問題的。(沒辦法,RE 真的是太好用太強大啦!!)

| 這個重新導向算子可以把前面的結果傳給後面,所以可以這樣使用:

perl -pe /xxxxxxxx/ abc.txt | perl -ne /xxxxxxxxxxxxx/ > def.txt

另外還可以衍生出一種使用的情境,就是資料的過濾,這必需要 -ne 參數搭配上 print 函數,合於條件時才利用 print 輸出以進入下一層處理。以下這行簡單的 one-liner 可以證明, | 兩側的 perl instance 是同時執行,且輸出入是即時重導的: