Monthly Archives: 1月 2012

「集合知プログラミング」第28回(1月31日)

Posted on by 0 comment

参加者 今井(読み手)、青木、沼田(記)
範囲 pp. 191 – 200

8章 価格モデルの構築

  • 8.4 クロス評価
  • 8.5 異質な変数
    • 8.5.1 データセットの追加
      • p.193 コード for文の中の4行目
        bottlesize=[375.0,750.0,1500.0,3000.0][randint(0,3)]
        と書くと、375.0~3000.0のどれかひとつがbottlesizeに代入される
    • 8.5.2 次元のリスケール(縮尺変更)
  • 8.6 縮尺の最適化
    • p.197 Pythonセッション 2行目のreloadの後の出力内容
      from ‘numpredict.pyc’となっているが、いつコンパイルされた?numpredict.pyの間違い?
  • 8.7 不均一な分布
    • p.198 第2段落の最後の文
      numericalpredict.pyはnumpredict.pyのあやまり?
    • p.198 最後から2行目
      どうして観測結果が20パーセントの割引となる?
      →半分が4割引だからだろう
    • 8.7.1 確率密度の推測

「集合知プログラミング」第27回(1月27日)

Posted on by 0 comment

参加者 沼田(読み手)、青木(記)

範囲 pp. 180 – 190

8章 価格モデルの構築

  • 8.1 サンプルデータセットの構築
  • 8.2 K近傍法
    • 8.2.1 近傍群の数
      p.184の図8-1について、30年で価格が0になるのでピーク酒齢は25年、よってレーティングは75となるはず。レーティング70、酒齢25をwineprice()で計算すると195.0となる。y軸の単位は何だろう?
    • 8.2.2 類似度を定義する
    • 8.2.3 K近傍法のコード
  • 8.3 重み付け近傍法
    • 8.3.1 反比例関数
    • 8.3.2 減法(引算)関数
      p.188 l3 subtractweiht → subtractweight
    • 8.3.3 ガウス関数
    • 8.3.4 重み付けK近傍法

「集合知プログラミング」第26回(1月24日)

Posted on by 0 comment

参加者 青木(読み手)、沼田、今井(記)
範囲 pp. 173 – 180

7章 決定木によるモデリング

  • 7.11 住宅価格のモデリング
    • 7.11.1 Zillow API
      • p.173 図7-5
        Bath rooms: 3.5 の0.5ってなんだろう?
        → トイレだけらしい。3.5で3フルバスルーム+1トイレ
      • p.175 コード l.4
        引数がないstrip()は何してる? → 文字列の先頭及び末尾の空白文字除去
      • p.175 図7-6
        • トップの 3:3:0 は、3:3.0 の間違いか。
        • useがDuplex, Triplexってなんだろう
          → Duplexは日本の二世帯住宅のように一つの家を二つに区切ってつくられた家らしい。住むのは親世帯、子世帯とはかぎらないようだ。Tirplex, (Fourplex)も同様。
  • 7.12 “Hotness”のモデル化
    • p.176 下 コード l.3
      api_keyを渡すクエリの名前はapp_keyなんだね。
    • p.178 下から l.3, 図7-7
      本文中には、「最上段の中心ノードは性別だ。」とあるが、図では年齢になっている。
  • 7.13 決定木を使うべき場面
  • 7.14 エクササイズ
    • p.180 「3. 早期終了」の初め、ミススペル
      buidtree → buildtree

「集合知プログラミング」第25回(1月20日)

Posted on by 0 comment

参加者 今井(読み手)、青木、沼田(記)
範囲 pp. 165 – 173

7章 決定木によるモデリング

  • 7.6 決定木の表示
    • 7.6.1 グラフィック表示
      • p.167 リーフを出力する際、tree.results.items()をfor文でまわしている(drawnode関数の最後)
        →ここまでの例ではitemはひとつしかないが、7.8節で刈り込みを行うとitemが複数のケースが出てくる
  • 7.7 新しい観測を分類する
  • 7.8 ツリーの刈り込み
  • 7.9 欠落データへの対処
    • p.172 最後のパラグラフ
      mdclassifyの実行結果が「予想通り」とあるが何故?mdclassifyに渡した観測のリファラがどちらもgoogleだから?
  • 7.10 数値による帰結への対処

「集合知プログラミング」第24回(1月17日)

Posted on by 0 comment

参加者 沼田(読み手)、今井、青木(記)

範囲 pp. 160 – 165

7章 決定木によるモデリング

  • 7.4 最高の分割を選ぶ
    • 7.4.1 ジニ不純度
    • 7.4.2 エントロピー
  • 7.5 再帰的なツリー構造
  • 7.6 決定木の表示

「集合知プログラミング」第23回(1月13日)

Posted on by 0 comment

参加者 青木(読み手)、沼田、今井(記)
範囲 pp. 150 – 160

6章 ドキュメントフィルタリング

  • 6.10 Akismetを利用する
    • p.151 コード中
      Geckoの読み方は? → Wikipediaによるとゲッコー。
    • p.151 実行例中
      spammer@spam.com は、example.comみたいに特別なドメイン?
      → spam.comにアクセスしたら、ランチョンミートのスパムの会社につながりました。よって特別なドメインではなく、実企業がもっているドメインみたい。こんな例に使っていいのか?
  • 6.11 その他の手法
  • 6.12 エクササイズ

7章 決定木によるモデリング

  • 7.1 サインアップを予測する
    • p.157 訳注
      • rstrip('\n')は、行末のLFを削除している。
      • 2行目のfor分では、ページ数を整数化している。
    • p.157 本分中ほど
      「サインアップ前にどれだけ時間をかけてサイトを読んだか、」とあるが、時間はどうやって求めている?
      → 絶対的な時間ではなく、何ページ見たかのことを言っているのだろう。
  • 7.2 決定木入門
    • p.156 図7-1
      核果とは?
      → 中心に大きな種が一つ入っている果実。(ref. Wikipedia)
  • 7.3 ツリーのトレーニング
    • p.159 コード
      • l.6 typo
        slpit_function → split_function
      • 下方のset1, set2を作るところ
        一つのrowsのループで、split_function(row)がtrueならset1に追加、falseならset2に追加、というコードにしないのはなぜ? 本のコードでは、同じループが同じ判定条件を含んだコードを2回ループするので、効率悪いのではないか。

「集合知プログラミング」第22回(1月6日)

Posted on by 0 comment

参加者 今井(読み手)、青木(記)
範囲 pp. 141 – 150

6章 ドキュメントフィルタリング

  • 6.6 フィッシャー法
    • 6.6.3 アイテムを分類する
      年末年始を挟んだので記憶が飛んでいるが、p.142の2行目のbadへのスコアが0.6以上のものはbadとなると思う。
  • 6.7 トレーニング済みの分類器を保存する
    • 6.7.1 SQLiteを利用する
  • 6.8 Blogフィードをフィルタする
    p.147モンティパイソンについて、迷惑な方のスパムの語源にとPythonに掛かっていておもしろい。
  • 6.9 特徴の検出の改良
    p.149のソースコードの#summaryの単語の組たちを特徴として取得するのブロックはインデントがずれているのではないだろうか。Pythonはインデントがずれると意味がちがってくるので怖いなー。
  • 付録Aサードパーティによるライブラリたち
    • A.4 pysqlite
      付録A.4 pysqliteは読んだような気がしていましたが、やっぱり11回のときに読んでいました。