[book] データマイニング入門
移転しました。
なかなか良さげな本。多少実務的に書いてあるような気がする。
以下に各データマイニング方法と、本に記載されている例を元に方法をまとめておく。
TODO 後で理解しやすいように、書き直す
ニューラルネットワーク
■概要
脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデルである。生物学や神経科学との区別のため、人工ニューラルネットワークとも呼ばれる。
■使用例
■お札の真偽(偽札かどうか)を見分ける 下部マージン幅、絵の体格線の長さによって、お札が偽札、真札いずれの可能性が高いか確率を求める。 ・入力層 下部マージン幅、絵の体格線の長さ ・出力層 お札の真偽 ■鉛筆の数え方 本数の番号によって「ぽん」となる確率を求める。 なんのこっちゃ。 ・入力層 本数 ・出力層 ぽん ・取り込むCSV ---------------------------- 本数 ポン ホン ボン 1 0.9 0.1 0.1 2 0.1 0.9 0.1 3 0.1 0.1 0.9 4 0.1 0.9 0.1 5 0.1 0.9 0.1 6 0.9 0.1 0.1 7 0.1 0.9 0.1 8 0.9 0.1 0.1 9 0.1 0.9 0.1 10 0.9 0.1 0.1 ---------------------------- ■ケーキの購入意思データの分析 浮橋さんという架空の人物の、ケーキ購入意思を求める。 入力層の情報を元に、出力層では買うかどうかの確立を求める事ができる。 ・入力層 高級感、甘さ、新奇性、濃厚さ、食感、華やかさ、値段 ・出力層 購入意思 ・CSVデータ一部 ---------------------------- ケーキの種類 高級感 甘さ 新奇性 濃厚さ 食感 華やかさ 値段 購入意思 ケーキ1 2 3 1 3 4 5 280 1 ケーキ2 4 2 4 2 5 4 280 1 ケーキ3 4 4 1 4 2 4 260 0 ケーキ4 3 5 1 5 4 2 280 0 ケーキ5 4 4 1 4 2 3 300 0 ----------------------------
■補足
筆者によると
「片手間に分析しているにもかかわらず意外なほどにあたるという実感がする」
とのこと
人工知能エンジンと決定木
■概要
予測モデルであり、ある事項に対する観察結果から、その事項の目標値に関する結論を導く。内部節点は変数に対応し、子節点への枝はその変数の取り得る値を示す。 葉(端点)は、根(root)からの経路によって表される変数値に対して、目的変数の予測値を表す。
■分類木 使用例
■タイタニックの船の等級や性別などによる生存率の可能性を求める 等級、大人子供、性別を元に、生死の判断を予測できる決定木を作る。 ・基準変数 生死 ・説明変数 生死以外のCSV列 ・CSVデータ一部 ---------------------------- 等級 大人子ども 性別 生死 1等 大人 男性 生還 1等 大人 男性 生還 1等 大人 男性 生還 1等 大人 男性 生還 1等 大人 男性 生還 ---------------------------- ・ツリー n= 2201 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 2201 711 死亡 (0.6769650 0.3230350) 2) 性別=男性 1731 367 死亡 (0.7879838 0.2120162) 4) 大人子ども=大人 1667 338 死亡 (0.7972406 0.2027594) * 5) 大人子ども=子ども 64 29 死亡 (0.5468750 0.4531250) 10) 等級=3等 48 13 死亡 (0.7291667 0.2708333) * 11) 等級=1等,2等 16 0 生還 (0.0000000 1.0000000) * 3) 性別=女性 470 126 生還 (0.2680851 0.7319149) 6) 等級=3等 196 90 死亡 (0.5408163 0.4591837) * 7) 等級=1等,2等,乗務員 274 20 生還 (0.0729927 0.9270073) *
■回帰木 使用例
■不動産データ分析 ・基準変数 家価格 ・説明変数 家価格以外のCSV列 ・CSVデータ一部 ---------------------------- 犯罪率 邸宅率 非小売 川沿い NX濃度 部屋数 古さ率 安定所 高速道 資産税 生徒数 黒人率 下層率 家価格 0.00632 18 2.31 0 0.538 6.575 65.2 4.09 1 296 15.3 396.9 4.98 24 0.02731 0 7.07 0 0.469 6.421 78.9 4.9671 2 242 17.8 396.9 9.14 21.6 0.02729 0 7.07 0 0.469 7.185 61.1 4.9671 2 242 17.8 392.83 4.03 34.7 ---------------------------- ・ツリー n= 506 node), split, n, deviance, yval * denotes terminal node 1) root 506 42716.3000 22.53281 2) 部屋数< 6.941 430 17317.3200 19.93372 4) 下層率>=14.4 175 3373.2510 14.95600 8) 犯罪率>=6.99237 74 1085.9050 11.97838 * 9) 犯罪率< 6.99237 101 1150.5370 17.13762 * 5) 下層率< 14.4 255 6632.2170 23.34980 10) 安定所>=1.5511 248 3658.3930 22.93629 20) 部屋数< 6.543 193 1589.8140 21.65648 * 21) 部屋数>=6.543 55 643.1691 27.42727 * 11) 安定所< 1.5511 7 1429.0200 38.00000 * 3) 部屋数>=6.941 76 6059.4190 37.23816 6) 部屋数< 7.437 46 1899.6120 32.11304 12) 下層率>=9.65 7 432.9971 23.05714 * 13) 下層率< 9.65 39 789.5123 33.73846 * 7) 部屋数>=7.437 30 1098.8500 45.09667 * ・プルーニング後 n= 506 node), split, n, deviance, yval * denotes terminal node 1) root 506 42716.3000 22.53281 2) 部屋数< 6.941 430 17317.3200 19.93372 4) 下層率>=14.4 175 3373.2510 14.95600 * 5) 下層率< 14.4 255 6632.2170 23.34980 10) 安定所>=1.5511 248 3658.3930 22.93629 20) 部屋数< 6.543 193 1589.8140 21.65648 * 21) 部屋数>=6.543 55 643.1691 27.42727 * 11) 安定所< 1.5511 7 1429.0200 38.00000 * 3) 部屋数>=6.941 76 6059.4190 37.23816 6) 部屋数< 7.437 46 1899.6120 32.11304 * 7) 部屋数>=7.437 30 1098.8500 45.09667 * ■大学教授の年収 ・基準変数 年収 ・説明変数 年収以外のCSV列 ・CSVデータ一部 ---------------------------- 学位 地位 性別 現職年数 学位年数 年収 博士 教授 男性 25 35 36350 博士 教授 男性 13 22 35350 博士 教授 男性 10 23 28200 博士 教授 女性 7 27 26775 修士 教授 男性 19 30 33696 ---------------------------- ・ツリー n= 52 node), split, n, deviance, yval * denotes terminal node 1) root 52 1785730000 23797.65 2) 地位=講師,助教 32 358933500 20134.34 4) 学位年数< 6.5 13 21458820 16849.54 * 5) 学位年数>=6.5 19 101231700 22381.84 * 3) 地位=教授 20 310265600 29658.95 6) 現職年数< 12.5 12 143875300 27628.67 * 7) 現職年数>=12.5 8 42728800 32704.38 *
■補足
ニューラルネットワークと比べて、実行結果が解釈しやすい(決定木が理解しやすいため)。
ただし、現実的には変数が多くなるため決定木もみずらくブラックボックスとして使う事が多い。
続きはほかの日に書く。