http://www.oreilly.co.jp/books/9784873115795/
月別アーカイブ: 2013年6月
RとPython
オライリーの書籍「入門機械学習」について
・S言語とはR言語の元になった言語
・線形回帰とは
http://www.teradata-j.com/library/ma/ins_1309.html
・R言語のインストール方法
http://www.okada.jp.org/RWiki/?R%20%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#pbac840c
http://essrc.hyogo-u.ac.jp/cran/
・本書でpackage_installer.Rについて触れているが、このソースコードが記載されているのサイトURLが記載されていなかったので、調べた結果以下のURLから取得出来る
https://github.com/johnmyleswhite/ML_for_Hackers
・IDEは以下の物を使用する
・参考になったサイト
http://sssslide.com/www.slideshare.net/KazufumiOhkawa/12-20049278
・ドット文字「.」について
ドット文字は単語間の区切り文字で、変数名に入れることが出来る。ただし、変数名の先頭には入れる事は出来ない。javaでは変数をredAppleと書いて区切り文字に大文字を使っていたが、R言語ではred.appleと書く事が出来る。
・ドルマークについて
データフレームの中のカラム変数を指定するためには、データフレームを明示的に指定した後にドルマーク”$”で区切る必要があります。by http://www.atmarkit.co.jp/ait/articles/1008/20/news092.html
・コロンについて
http://d.hatena.ne.jp/myopomme/20110417/1303006942
・忘れやすい行列の積の計算の覚え方
http://d.hatena.ne.jp/tackngybe/20101109/1289241733
http://naop.jp/text/c/gyouretu3.html
・R言語の入門サイト
http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html
・ベクトルと行列の積
ベクトルは行数または列数が1の行列として扱うことができますから、ベクトルと行列の積も行列同士の積と同じように定義することができます。by http://www.snap-tck.com/room04/c01/matrix/matrix02.html
・関数の戻り値、return()関数について
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/31.html
・分散の求め方について
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1354421658
・paste関数について
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/17.html
・sapply,lapplyについて
http://d.hatena.ne.jp/myopomme/20111202/1322839101
http://d.hatena.ne.jp/myopomme/20111201/1322751032
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/24.html
・prod関数について
http://help.scilab.org/docs/5.3.2/ja_JP/prod.html
・中央値について
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1074509460
・行列の作成
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/19.html
・length()について
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/12.html
・name属性について
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/26.html
phpの正規表現について
Google Safe Browsing APIについて
https://developers.google.com/safe-browsing/lookup_guide
・GoogleアカウントからAPIキーを取得しなければならない
・APIキー、一つにつき一日に10,000リクエストまで出来る
・GETは一つのURLしかリクエスト出来ないが、POSTの場合は一度に500までリクエスト出来る。
・なので実質一日に10,000*500 のURLを解析する事が出来る。
・レスポンスコードが200の場合はURLの中に一つはマルウェアかフィッシングサイトURLが含まれている。204の場合は一つも含まれていないので、BODY部分は何も返されない。その他のエラーコードはGoogle側のシステムエラーかリクエストパラメーターエラー。
<?php class GoogleSafeBrowsing { private $apikey = "";//APIキーを設定 /** * URLをチェックしマルウェアサイトとフィッシングサイトのURLのみを返す。 * @param unknown_type $checkUrls 調べたい複数のURLを配列で渡す。 * @return NULL|multitype: nullの場合は何らかのエラーが発生。配列の中身が空の場合は不正なURLは一つも検出されなかったという事。 */ function checkUrls($checkUrls){ $postField = count($checkUrls) . "\n" . implode("\n", $checkUrls); $url = "https://sb-ssl.google.com/safebrowsing/api/lookup?client=api&apikey=" . $this->apikey . "&appver=1.5.2&pver=3.0"; $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_HEADER, 1);//HEADERも取得する curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//TRUE を設定すると、 curl_exec() の返り値を 文字列で返します。通常はデータを直接出力します。 curl_setopt ($ch,CURLOPT_POST,1);//POSTをするためのフラグを立てる curl_setopt ($ch,CURLOPT_POSTFIELDS,$postField); $data = curl_exec ($ch); $info = curl_getinfo ($ch); curl_close ($ch); $httpCode = $info['http_code'];//HTTPステータスコードを取得 $body = substr ($data, $info["header_size"]);// BODY部分を取得 $results = explode("\n", $body); if($httpCode === 200){ foreach ($checkUrls as $i => $non){ if($results[$i] == "ok"){ unset($checkUrls[$i]); } } }else if($httpCode === 204){ $checkUrls = array(); }else{ return null; } return $checkUrls; } } $GSB = new GoogleSafeBrowsing(); $checkUrls = array("http://bibouroku.viratube.com/"); print_r($GSB->checkUrls($checkUrls)); ?>
chrome extensionのインストール不具合
ubuntu側でzip圧縮したzipファイルをアップロード出来る。ここまでは問題ないのだがChromeWebStoreからのインストールには失敗する。windows側の圧縮ソフト「Explzh」で圧縮した物は何故か成功する。
firefox addon sdkについて
chrome extension APIについて
Simple Html Dom Paserのメモリリークについて
生成したオブジェクトは必ず以下のようにして破棄しないとPHPのバージョンによってはメモリリークする。実際開発側とサーバー側のPHPのバージョンの違いでメモリリークした。by http://simplehtmldom.sourceforge.net/manual_faq.htm#memory_leak
$html = file_get_html(...); // do something... $html->clear(); unset($html);