差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

data:the_insurance_company_benchmark [2016/10/31 21:49] (現在)
watalu created
行 1: 行 1:
 +==== 保険会社のベンチマーク ====
 +
 +(CoIL Challenge 2000の和訳)
 +
 +=== 前置き ===
 +
 +オランダのデータマイニング企業の[[http://www.smr.nl|Sentient Machine Research]]が保有し提供しているこのデータは、実際のビジネスデータに基づいている。非営利目的および教育目的の使用のみが許諾されている。その他の目的で使用する際には、Peter van der Putten, info@smr.nlに問い合わせること。
 +
 +このデータはCoILチャレンジ2000データマイニングコンペティションで用いられた。このコンペティションへの参加者たちの論文は、[[http://www.wi.leidenuniv.nl/~putten/library/cc2000/|the TIC 2000 homepage]]に収められている。
 +
 +=== 参考文献 ===
 +
 +P. van der Putten and M. van Someren (eds). CoIL Challenge 2000: The Insurance Company Case. 
 +Published by Sentient Machine Research, Amsterdam. Also a Leiden Institute of Advanced Computer Science Technical Report 2000-09. June 22, 2000. 
 +
 +=== ファイル ===
 +
 +== TICDATA2000.txt ==
 +
 +学習、予測モデルの検証、また問題の記述に用いるデータであり、5822人分の顧客レコードが収められている。一つのレコードは86の属性(フィールド、または変数)からなり、 前半の1-43は社会人口学的な属性、後半の44-86は商品の契約状況(44-86)を表す。社会人口学的なデータは、郵便番号(zip code)から導かれている。5822人の中で、同じ郵便番号を持つエリアに住む顧客は、同じ社会人口学的な属性を持っている。86番目の属性 "CARAVAN:Number of mobile home policies" が目的変数である。
 +
 +== TICEVAL2000.txt ==
 +
 +契約を予測するためのデータであり、4000人分の顧客レコードが収められている。TICDATA2000.txtと同じフォーマットだが、最後の変数だけが欠けている。このコンペティションの参加者は、4000人分の予測結果のみを提出することを求められている。すべてのデータファイルは、タブ区切りのフォーマットである。
 +
 +== TICTGTS2000.txt ==
 +
 +評価のためのターゲットである。(?)
 +
 +=== データの説明 ===
 +
 +[[http://kdd.ics.uci.edu/databases/tic/tic.data.html|tic.data.txt]]からの要約。(上と重複)
 +
 +  * CoIL 2000 Challengeで用いられた保険会社の顧客に関するデータ。86個の変数は、契約状況(V44-V85)と社会人口統計学的な変数(V1-V43)を含んでいる。この調査は "Can you predict who would be interested in buying a caravan insurance policy and give an explanation why?" という問いに答えるように集められた。
 +  * このデータはオランダのデータマイニング会社Sentinent Machine Researchから提供され、現実のビジネスの問題に基づいている。学習用データ(ticdata2000.txt)は5000レコードでcaravan insurance policyの契約の有無(V86)を含んでおり、検証用データ(ticeval2000.txt)は4000レコードで契約の有無(V86)は含んでいない。検証用データの正解は、CoIL 2000 Challengeの開催時には公開されていなかったが、現在はテストデータ(tictest2000.txt)として公開されている。
 +  * V1-V43のうち、コード化が指定されていない変数はすべて、郵便番号の一桁目のエリアを指している。たとえばV30が9ならばその顧客は郵便番号が9で始まるエリアに家を借りていることを、V31が5ならば郵便番号が5のエリアに持ち家があることを意味する。職業、社会層などもすべて、該当するエリアの箇所が郵便番号の一桁目で埋まっている。
 +
 +== 変数 ==
 +
 +[[http://kdd.ics.uci.edu/databases/tic/dictionary.txt|dictionary.txt]]からの抜粋と要約、の日本語版。
 +
 +^変数^分類^メモ^
 +|V1|顧客分類2|L0でコード化されている、数字の大きさに意味なし|
 +|V2|住居数|大きいほど住む箇所が多い|
 +|V3|世帯構成員数の平均|人数|
 +|V4|世帯構成員の平均年齢|L1でコード化されている、年齢|
 +|V5|顧客分類1|L2でコード化されている、数字の大きさに意味なし|
 +|V6-V9|宗教|L3でコード化されている、V6+V7+V8+V9は9から12の間。それぞれの宗教を信じる割合?|
 +|V10-V13|結婚|場所を表す変数, 例えばV10が0ならば無し?|
 +|V14-V15|世帯の大きさ|L3でコード化されている、なぜかV14+V15は10以下。割合?|
 +|V16-V18|教育水準|L3でコード化されている、なぜかV16+V17+V18はほぼ10、それぞれの年数?割合?|
 +|V19-V24|職業|L3でコード化されている、なぜかV19+V20+V21+V22+V23+V24は9から13の間|
 +|V25-V29|社会層|L3でコード化されている、なぜかV25+V26+V27+V28+V29は9から12の間|
 +|V30-V31|住居|L3でコード化されている、なぜかV30+V31は9か10|
 +|V32-V34|自動車|L3でコード化されている、なぜかV32+V33+V34は9から11の間|
 +|V35-V36|健康保険|L3でコード化されている、なぜかV35+V36は9か10|
 +|V37-V41|収入|L3でコード化されている、なぜかV37+V38+V39+V40+V41は9から13の間|
 +|V42|平均収入|L3でコード化されている|
 +|V43|購買力|L3でコード化されている、1から8の間。|
 +|V44-V64|各種保険支払い額|L4でコード化|
 +|V65-V85|各種保険契約件数|件数|
 +
 +メモの確認用のコード。
 +
 +<code>
 +table((tic.learn$V16+tic.learn$V17+tic.learn$V18))
 +table((tic.learn$V19+tic.learn$V20+tic.learn$V21+tic.learn$V22+tic.learn$V23+tic.learn$V24))
 +table((tic.learn$V25+tic.learn$V26+tic.learn$V27+tic.learn$V28+tic.learn$V29))
 +table(tic.learn$V30+tic.learn$V31)
 +table(tic.learn$V32+tic.learn$V33+tic.learn$V34)
 +table(tic.learn$V35+tic.learn$V36)
 +table(tic.learn$V37+tic.learn$V38+tic.learn$V39+tic.learn$V40+tic.learn$V41)
 +</code>
 +
 +== 変数詳細 ==
 +
 +^Nr^Name^Description Domain^
 +|V1|MOSTYPE|Customer Subtype see L0|
 +|V2|MAANTHUI|Number of houses 1 - 10|
 +|V3|MGEMOMV|Avg size household 1 - 6|
 +|V4|MGEMLEEF|Avg age see L1|
 +|V5|MOSHOOFD|Customer main type see L2|
 +|V6|MGODRK|Roman catholic see L3|
 +|V7|MGODPR|Protestant ...|
 +|V8|MGODOV|Other religion|
 +|V9|MGODGE|No religion (無宗教)|
 +|V10|MRELGE|Married (既婚)|
 +|V11|MRELSA|Living together (同居)|
 +|V12|MRELOV|Other relation (その他)|
 +|V13|MFALLEEN|Singles (独身)|
 +|V14|MFGEKIND|Household without children (子供のいない世帯)|
 +|V15|MFWEKIND|Household with children (子供のいる世帯)|
 +|V16|MOPLHOOG|High level education (高等教育)|
 +|V17|MOPLMIDD|Medium level education (中等教育)|
 +|V18|MOPLLAAG|Lower level education (初等教育)|
 +|V19|MBERHOOG|High status|
 +|V20|MBERZELF|Entrepreneur|
 +|V21|MBERBOER|Farmer (農業)|
 +|V22|MBERMIDD|Middle management (中間管理職)|
 +|V23|MBERARBG|Skilled labourers (熟練労働者)|
 +|V24|MBERARBO|Unskilled labourers (非熟練労働者)|
 +|V25|MSKA|Social class A|
 +|V26|MSKB1|Social class B1|
 +|V27|MSKB2|Social class B2|
 +|V28|MSKC|Social class C|
 +|V29|MSKD|Social class D|
 +|V30|MHHUUR|Rented house|
 +|V31|MHKOOP|Home owners|
 +|V32|MAUT1|1 car (保有車1台)|
 +|V33|MAUT2|2 cars (保有車2台)|
 +|V34|MAUT0|No car (保有車なし)|
 +|V35|MZFONDS|National Health Service|
 +|V36|MZPART|Private health insurance|
 +|V37|MINKM30|Income < 30.000|
 +|V38|MINK3045|Income (収入) 30-45.000|
 +|V39|MINK4575|Income (収入) 45-75.000|
 +|V40|MINK7512|Income (収入) 75-122.000|
 +|V41|MINK123M|Income (収入) >123.000|
 +|V42|MINKGEM|Average income (平均収入)|
 +|V43|MKOOPKLA|Purchasing power class|
 +|V44|PWAPART|Contribution (契約高) private third party insurance see L4|
 +|V45|PWABEDR|Contribution (契約高) third party insurance (firms) ...|
 +|V46|PWALAND|Contribution (契約高) third party insurane (agriculture)|
 +|V47|PPERSAUT|Contribution (契約高) car policies|
 +|V48|PBESAUT|Contribution (契約高) delivery van policies|
 +|V49|PMOTSCO|Contribution (契約高) motorcycle/scooter policies|
 +|V50|PVRAAUT|Contribution (契約高) lorry policies|
 +|V51|PAANHANG|Contribution (契約高) trailer policies|
 +|V52|PTRACTOR|Contribution (契約高) tractor policies|
 +|V53|PWERKT|Contribution (契約高) agricultural machines policies |
 +|V54|PBROM|Contribution (契約高) moped policies|
 +|V55|PLEVEN|Contribution (契約高) life insurances|
 +|V56|PPERSONG|Contribution (契約高) private accident insurance policies|
 +|V57|PGEZONG|Contribution (契約高) family accidents insurance policies|
 +|V58|PWAOREG|Contribution (契約高) disability insurance policies|
 +|V59|PBRAND|Contribution (契約高) fire policies|
 +|V60|PZEILPL|Contribution (契約高) surfboard policies|
 +|V61|PPLEZIER|Contribution (契約高) boat policies|
 +|V62|PFIETS|Contribution (契約高) bicycle policies|
 +|V63|PINBOED|Contribution (契約高) property insurance policies|
 +|V64|PBYSTAND|Contribution (契約高) social security insurance policies|
 +|V65|AWAPART|Number of (契約口数) private third party insurance 1 - 12|
 +|V66|AWABEDR|Number of (契約口数) third party insurance (firms) ...|
 +|V67|AWALAND|Number of (契約口数) third party insurane (agriculture)|
 +|V68|APERSAUT|Number of (契約口数) car policies|
 +|V69|ABESAUT|Number of (契約口数) delivery van policies|
 +|V70|AMOTSCO|Number of (契約口数) motorcycle/scooter policies|
 +|V71|AVRAAUT|Number of (契約口数) lorry policies|
 +|V72|AAANHANG|Number of (契約口数) trailer policies|
 +|V73|ATRACTOR|Number of (契約口数) tractor policies|
 +|V74|AWERKT|Number of (契約口数) agricultural machines policies|
 +|V75|ABROM|Number of (契約口数) moped policies|
 +|V76|ALEVEN|Number of (契約口数) life insurances|
 +|V77|APERSONG|Number of (契約口数) private accident insurance policies|
 +|V78|AGEZONG|Number of (契約口数) family accidents insurance policies|
 +|V79|AWAOREG|Number of (契約口数) disability insurance policies|
 +|V80|ABRAND|Number of (契約口数) fire policies|
 +|V81|AZEILPL|Number of (契約口数) surfboard policies|
 +|V82|APLEZIER|Number of (契約口数) boat policies|
 +|V83|AFIETS|Number of (契約口数) bicycle policies|
 +|V84|AINBOED|Number of (契約口数) property insurance policies|
 +|V85|ABYSTAND|Number of (契約口数) social security insurance policies|
 +|V86|CARAVAN|Number of (契約口数) mobile home policies 0 - 1|
 +
 +== 各変数のコーディング ==
 +
 +L0:分類を表す数字なので、大小関係に意味がなく、名義尺度である。そのままでは説明変数にならない。
 +
 +^Value^Label^
 +|1|High Income, expensive child|
 +|2|Very Important Provincials|
 +|3|High status seniors|
 +|4|Affluent senior apartments|
 +|5|Mixed seniors|
 +|6|Career and childcare|
 +|7|Dinki's (double income no kids)|
 +|8|Middle class families|
 +|9|Modern, complete families|
 +|10|Stable family|
 +|11|Family starters|
 +|12|Affluent young families|
 +|13|Young all american family|
 +|14|Junior cosmopolitan|
 +|15|Senior cosmopolitans|
 +|16|Students in apartments|
 +|17|Fresh masters in the city|
 +|18|Single youth|
 +|19|Suburban youth|
 +|20|Etnically diverse|
 +|21|Young urban have-nots|
 +|22|Mixed apartment dwellers|
 +|23|Young and rising|
 +|24|Young, low educated |
 +|25|Young seniors in the city|
 +|26|Own home elderly|
 +|27|Seniors in apartments|
 +|28|Residential elderly|
 +|29|Porchless seniors: no front yard|
 +|30|Religious elderly singles|
 +|31|Low income catholics|
 +|32|Mixed seniors|
 +|33|Lower class large families|
 +|34|Large family, employed child|
 +|35|Village families|
 +|36|Couples with teens 'Married with children'|
 +|37|Mixed small town dwellers|
 +|38|Traditional families|
 +|39|Large religous families|
 +|40|Large family farms|
 +|41|Mixed rurals|
 +
 +L1:大きさが年齢の順なので、そのまま説明変数に使える。
 +
 +|1|20-30 years|
 +|2|30-40 years|
 +|3|40-50 years|
 +|4|50-60 years|
 +|5|60-70 years|
 +|6|70-80 years|
 +
 +L2:数字は分類を表すだけなので、連続尺度でも順序尺度でもなく、名義尺度。そのままでは説明変数にならない。
 +
 +|1|Successful hedonists|
 +|2|Driven Growers|
 +|3|Average Family|
 +|4|Career Loners|
 +|5|Living well|
 +|6|Cruising Seniors|
 +|7|Retired and Religeous|
 +|8|Family with grown ups|
 +|9|Conservative families|
 +|10|Farmers|
 +
 +L3:順序尺度。このまま連続尺度の説明変数として用いる。
 +
 +|0|0%|
 +|1|1 - 10%|
 +|2|11 - 23%|
 +|3|24 - 36%|
 +|4|37 - 49%|
 +|5|50 - 62%|
 +|6|63 - 75%|
 +|7|76 - 88%|
 +|8|89 - 99%|
 +|9|100%|
 +
 +L4: 順序尺度。今回はこのまま連続尺度の変数として用いる。
 +
 +|0|f 0|
 +|1|f 1 - 49|
 +|2|f 50 - 99|
 +|3|f 100 - 199|
 +|4|f 200 - 499|
 +|5|f 500 - 999|
 +|6|f 1000 - 4999|
 +|7|f 5000 - 9999|
 +|8|f 10.000 - 19.999|
 +|9|f 20.000 - ?|
 +
 +== データのダウンロードと読み込み ==
 +
 +演習で用いる保険データは、大学内からであれば、Rに次の命令を実行すれば読み込める。
 +<code>
 +Sys.setenv("http_proxy"="http://130.153.8.16:8080/")
 +tic.learn <- read.table("http://kdd.ics.uci.edu/databases/tic/ticdata2000.txt")
 +tic.eval <- read.table("http://kdd.ics.uci.edu/databases/tic/ticeval2000.txt")
 +tic.test <- read.table("http://kdd.ics.uci.edu/databases/tic/tictgts2000.txt")
 +tic.eval <- cbind(tic.eval, tic.test)
 +colnames(tic.eval)[86] <- "V86"
 +rm(tic.test)
 +</code>
 +
 +学外もしくは自宅等であれば、最初の1行(Sys.setenvで始まる行)は不要。
 +
 +== 参考 ==
 +
 +kernlabパッケージに、加工済みのデータが入っていて、それを使うこともできる。
 +
 +<code>
 +install.packages(c("kernlab"), dependencies=TRUE)
 +tic.learn <- ticdata[1:5822,]
 +tic.eval <- ticdata[5823:9822,]
 +</code>