2009-03-01から1ヶ月間の記事一覧

Rubyで『集合知プログラミング』(7)

第3章「グループを見つけ出す」 3.8 データを2次元で見る "clusters.rb"の続きです。 書籍のサンプルでは座標を配列で表現していましたが,今回は座標を表現するPointクラスを作成しました。 class Point def initialize(x = 0.0, y = 0.0); @x, @y = x, y; …

Rubyで『集合知プログラミング』(6)

第3章「グループを見つけ出す」 3.7 嗜好のクラスタ "clusters.rb"の続きです。 Zeboからのデータ取得は省略。データはこちらを使いました。 def tanimoto(clust1, clust2) c1 = c2 = shr = 0 clust1.vec.zip(clust2.vec) do |v1, v2| c1 += 1 if v1 != 0 c2…

HTMLで指定された属性のみ取得(IE)

IEでHTMLタグに直接指定されている属性のみを取得する <html> <head> <script type="text/javascript"> window.onload = function(){ var node = document.getElementById("img1"); var s = ""; for ( prop in node ){ var attr = node.getAttributeNode(prop); if ( attr && attr.specified ){ s += pro</head></html>…

時刻の丸め

時刻をそれ以前で直近の15分単位に丸める。 =INT(A1*24*4)/(24*4)[A1]に元の時刻を入力。例 時刻 丸め ---------- 1:00 1:00 1:10 1:00 1:20 1:15 1:30 1:30 1:40 1:30 1:50 1:45 2:00 2:00

Rubyで『集合知プログラミング』(5)

第3章「グループを見つけ出す」 3.6 K平均法によるクラスタリング "clusters.rb"の続きです。K平均法によりクラスタを求めるメソッドです。 def kcluster(rows, k=4, calc_distance=method(:pearson)) # それぞれのポイントの最小値と最大値を求める # == デ…

繰返し構造をグループ化

繰返しの構造をもつ次のようなXML <root> <title>title1</title> <div>div1-1</div> <div>div1-2</div> <title>title2</title> <div>div2-1</div> <div>div2-2</div> <div>div2-3</div> <title>title3</title> <div>div3-1</div> <div>div3-2</div> </root> を,繰返しの単位ごと(ここでは,<title>ノードごと)にグループ化 <root> <group> <title>title1</title>

createDocumentFragmentの使い方

<html> <head> <script type="text/javascript"> window.onload = function(){ var fragment = document.createDocumentFragment(); var spanNode = fragment.appendChild(document.createElement("span")); spanNode.appendChild(document.createTextNode("test")); document.getElementById("target").</head></html>…

nodeType定数(IE)

DOM nodeTypeの定数定義(IE用 FireFoxなどでは定義されている)HTMLのnodeTypeのみ if ( !window.Node ){ var Node = { ELEMENT_NODE: 1, ATTRIBUTE_NODE: 2, TEXT_NODE: 3, COMMENT_NODE: 8, DOCUMENT_NODE: 9, DOCUMENT_FRAGMENT_NODE: 11 }; }