2010-08-01から1ヶ月間の記事一覧

Weka を用いたクラスタリング

k-means法により Iris データをクラスタリングした. import java.io.*; import weka.core.*; import weka.clusterers.*; import weka.filters.*; import weka.filters.unsupervised.attribute.Remove; public class WekaClustering { public static void ma…

WEKA

WEKA のページ (http://www.cs.waikato.ac.nz/ml/weka/)中の Download から "Other platforms (Linux etc.)"用の weka-3-6-3.zip をダウンロード.ただし,張られているリンク先は weka-3-6-2.zip のため,http://prdownloads.sourceforge.net/weka/weka-3-6…

2つの集合(java.util.set)の比較

各集合に含まれる要素の一致を調べるには equals メソッドを用いる。 import java.io.*; import java.util.HashSet; public class set { public static void main(String[] args){ HashSet<String> a = new HashSet<String>(); HashSet<String> b = new HashSet<String>(); HashSet<String> c = new H</string></string></string></string></string>…

長い URL に DB 撃沈

データベースへの登録データ数が 7,000件を越え,順調〜と構えていたら,次の長い長いURLにぶつかり,あえなく撃沈. http://www.geocities.co.jp/Technopolis/8931/index15.html#%E3%83%BB%E7%8E%8B%E6%A7%98%E3%81%AE%E9%A3%B2%E3%81%BF%E5%B1%8B%E3%81%95…

文字列中のシングルクォートとSQL文

タグ文字列にシングルクォートが含まれるため,MySQL に怒られる select文の例. (逃げる訳にいかないから)予め文字列をスキャンして,シングルクォートをエスケープさせるように,プログラムを作り替えよう. select * from tag_table where (tag)=('e'tu…

文字列がURLエンコーディングされているかの判定

URLの一部(ホスト部)が「URL エンコーディングされているか否かを予め判定したい」という要求が生じたため,下記のように正規表現を用いて判定を行った.ルールは「URLエンコードされた結果は "%xy" が繰り返される.ここで x,y は16進数」とした(ただし…

ネットからコンテンツを取ってきて,juniversalchardet で文字コード判定

import java.io.*; import java.net.URL; import java.util.ArrayList; import org.mozilla.universalchardet.UniversalDetector; public class test{ public static void main(String args[]){ UniversalDetector detector = new UniversalDetector(null); …

URLのパス名から導出されたハッシュ値の分布

パスの先頭文字では駄目だと分かったから,次はハッシュ値を使ってみた. と言っても,ハッシュ関数は「パスを構成する文字の文字コードの和 % 10」という単純なもの.上記と同じく,約30万件のデータを分析した結果を以下に示す. フォーマットは「ハッシュ…

URLのパス名における先頭文字の分布

URL のパス部分,例えば "http://www.host.com/foo/bar.html" のうち "foo/bar" の部分について,その先頭文字(ここでは 'f')の分布を調べた. (注)厳密なパス名には先頭のスラッシュが含まれており,"/foo/bar.html" が正しいが,話を簡単にするため「…

はてなブックマークの時刻形式を MySQL の DATETIME 形式へ変換

// はてなブックマークの時刻形式 "2010-02-01T15:20:57+09:00" を // MySQL の DATETIME 形式 "2010-02-01 15:20:57" に変換 static String hatenaDate2mysqlDate(String hatenaDate){ int pLoc = hatenaDate.indexOf('+'); // '+'位置の検出 String s1 = h…

URLクラスの利用

import java.io.*; import java.net.URL; public class url { public static void main(String[] args){ String s = "http://search.yahoo.co.jp/search?p=pattern&aq=-1&oq=&ei=UTF-8&fr=top_ga1_sa&x=wrt"; try { URL url = new URL(s); System.out.printl…

HTTPステータスを得る.

import java.io.*; import java.net.*; public class tmp { public static void main(String[] args){ try { URI uri = new URI("http://d.hatena.ne.jp/hmwr_k/20090110/1231563213"); HttpURLConnection connection = (HttpURLConnection)uri.toURL().open…