Slide 1

Slide 1 text

σʔλ෼ੳʹ͓͚Δ ಛ௃ྔΤϯδχΞϦϯά ೥݄೔ ӝੜਅ໵ !V@SJCP

Slide 2

Slide 2 text

ຊ೔ͷ಺༰ ಛ௃ྔΤϯδχΞϦϯά ʹ͍ͭͯͷ֤࿦ ଟ༷ͳσʔλͷ ಛ௃ྔΤϯδχΞϦϯά σʔλ෼ੳϓϩδΣΫτͷ ϫʔΫϑϩʔʢಋೖʣ ಛ௃ྔΤϯδχΞϦϯά Ҏ֎Ͱॏཁͳ͜ͱ

Slide 3

Slide 3 text

σʔλ෼ੳͷϫʔΫϑϩʔɻ(BSSFUUBOE)BEMFZ ΑΓ࡞੒ փ৭ͷྖҬ͕ࠓճѻ͏ൣғ σʔλ෼ੳͷϫʔΫϑϩʔ

Slide 4

Slide 4 text

൓෮తͳ࡞ۀͰϞσϧΛຏ্͖͍͛ͯ͘ Ϟσϧߏஙͷయܕతͳ࿮૊Έɻ.BYBOE,KFMM ΑΓ࡞੒

Slide 5

Slide 5 text

͍͟ɺϞσϦϯάͷ࣮ߦʂͱ͸͍͔ͳ͍ a)データの特徴、データ間の関係を知り、初期モデルに利⽤す る「出発点」を⾒つけるための視覚化。 b)統計量の集計や⽬的変数と強い相関のある変数を特定、モデ ルに対する仮説を⽴てる。データを⼗分に理解できたと⾔え るまで、関係を可視化し、さらなる定量分析を繰り返す。 c)データを初期モデルに適⽤するための準備。

Slide 6

Slide 6 text

ಛ௃ྔΤϯδχΞϦϯά タスク、モデルに適した特徴量(数値)へと変換する過程 データをモデル上でどのように表現するかという課題に対し モデル、アルゴリズムの多くは ⼊⼒に仮定を置いたり、制約を設けている

Slide 7

Slide 7 text

ͳͥಛ௃ྔΤϯδχΞϦϯά͕ඞཁ͔ ・数値データに対しても変換や結合の処理を⾏うことがある モデルに数値以外のデータ(画像や⽂字列)を 当てはめ、アルゴリズムによる計算を実⾏するには数値化が必要 データ、モデルの各視点において特徴量エンジニアリングが重要 ・データの持つ特徴を強調することもできる ・「知識」をデータに反映させる →より良い特徴量を⽤意するため

Slide 8

Slide 8 text

લॲཧͱͷҧ͍ (数値的な変換により) データをモデルに適⽤させる、 モデルを改善していくため 障害や異常となり得る要素を 処理 減算のプロセス と捉えられる 基本的には 加算のプロセス 合成、縮約も含まれる ⽋損値や異常値への対処 前処理 特徴量エンジニアリング

Slide 9

Slide 9 text

ྫϏʔϧ΁ͷࢧग़ֹۚΛߟ͑Δ データ: 年⽉、ビールへの⽀出⾦額、気象要因 タスク: ビールへの⽀出⾦額を予測する回帰問題 モデル: 線形回帰、サポートベクターマシン、ランダムフォレスト -年はそれほど重要ではない。 -夏の気温が⾼い時期(6⽉から9⽉ご ろ)が重要そう。 -湿度との関係は? -⽇にちは関係するだろうか? - 夏... 150~⽇め?? - 平⽇よりも休⽇

Slide 10

Slide 10 text

d)初期モデルの実⾏。初期モデルに利⽤したデータで、いくつ かのモデルも適⽤、⽐較。ハイパーパラメータの探索もここ で⾏われる。 e)複数回⾏われたパラメータ調整の結果を分析 f)モデルの結果を可視化 ෳ਺ͷϞσϧͰͷੑೳΛൺֱ͢Δ

Slide 11

Slide 11 text

ϞσϧͷੑೳධՁ タスクに応じた評価指標を利⽤する 回帰問題 分類問題 決定係数 (R2, RSQ: coefficient of determination) ⼆乗平均平⽅根誤差 (RMSE: Root Mean Square Error) 平均絶対誤差 (MAE: Mean absolute error) 混同⾏列 正解率 適合率と再現率 ROC曲線とAUC

Slide 12

Slide 12 text

g)初期モデルを改良する特徴量エンジニアリング h)最終的な候補モデルに対する調整 i)テストセットを利⽤した汎化性能の評価 j)運⽤ ϞσϧΛվળ͢Δಛ௃ྔΛ୳͢

Slide 13

Slide 13 text

ຊ೔ͷ಺༰ ಛ௃ྔΤϯδχΞϦϯά ʹ͍ͭͯͷ֤࿦ ଟ༷ͳσʔλͷ ಛ௃ྔΤϯδχΞϦϯά σʔλ෼ੳϓϩδΣΫτͷ ϫʔΫϑϩʔʢಋೖʣ ಛ௃ྔΤϯδχΞϦϯά Ҏ֎Ͱॏཁͳ͜ͱ

Slide 14

Slide 14 text

ͲͷΑ͏ͳछྨͷσʔλΛѻ͏͔ 表 数値 カテゴリ 論理値 名義尺度 順序尺度 間隔尺度 ⽐例尺度 形式 …csv, エクセル RDB データ型 尺度

Slide 15

Slide 15 text

ԋश༻σʔλͱ՝୊ઃܭ タスク: 地価価格(標準地の地 価)を予測する回帰問題、地価価 格に影響する変数を知りたい
 特徴: 地理空間、距離、⽴地条件 1. 地価公⽰データ (land price: lp) 出典: 国⼟交通省 国⼟数値情報 地価公⽰データ 第2.4版 L01 平成30年度 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-L01-v2_5.html 平成27年度 国勢調査 従業地・通学地による⼈⼝・就業状態等集計

Slide 16

Slide 16 text

2. ビールへの⽀出データ (beer) ԋश༻σʔλͱ՝୊ઃܭ タスク: ビールへの⽀出を 予測する回帰問題
 特徴: 時系列、気象要因 出典: 国⼟交通省 国⼟数値情報 ⼟砂災害・雪崩メッシュデータ 第1.1版 A30a5 平成23年度 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-A30a5.html 標⾼・傾斜度3次メッシュデータ 第2.2版 G04a 平成21(2009)年度 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-G04-a.html 特殊⼟壌地帯データ 第3.0版 平成28年 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-A23-v3_0.html 気象データ 気象庁ホームページ 過去の気象データ・ダウンロード http://www.data.jma.go.jp/gmd/risk/obsdl/index.php

Slide 17

Slide 17 text

3. ⼟砂災害・雪崩メッシュデータ (hazard) ԋश༻σʔλͱ՝୊ઃܭ タスク: 災害発⽣の有無を 分類する問題
 特徴: 空間、クラス不均衡、 ⽋損、気象要因、地形要因 出典: 総務省 家計調査 家計収⽀編 ⼆⼈以上の世帯 「1世帯当たり1か⽉間の⽇別⽀出 (表6-16)」 気象データ 気象庁ホームページ 過去の気象データ・ダウンロード http://www.data.jma.go.jp/gmd/risk/obsdl/index.php

Slide 18

Slide 18 text

ͲͷΑ͏ͳछྨͷσʔλΛѻ͏͔ ද ը૾ จॻ ೔෇ɾ࣌ؒ ஍ཧۭؒ ɾ࠲ඪ 形式 データ型 尺度 数値 カテゴリ 論理値 名義尺度 順序尺度 間隔尺度 ⽐例尺度 ςΩετ

Slide 19

Slide 19 text

ಛ௃ྔΤϯδχΞϦϯά Ҏ֎Ͱॏཁͳ͜ͱ ຊ೔ͷ಺༰ ಛ௃ྔΤϯδχΞϦϯά ʹ͍ͭͯͷ֤࿦ ଟ༷ͳσʔλͷ ಛ௃ྔΤϯδχΞϦϯά σʔλ෼ੳϓϩδΣΫτͷ ϫʔΫϑϩʔʢಋೖʣ

Slide 20

Slide 20 text

ΑΓྑ͍ϞσϧΛ໨ࢦͯ͠ -構築したモデルに含まれるどの変数が重要か -各特徴量が予測にどう影響するか -ブラックボックスなモデルの中⾝を説明する -運⽤するモデルがデータ漏洩、過学習を起こ さないために -コスト vs パフォーマンス -最適なモデルでなくても優良なモデルを⽬指す データ分割、交差検証 モデルの解釈 ハイパーパラメータ探索

Slide 21

Slide 21 text

εϥΠυͷݟํ ࢀߟॻͰͷϖʔδ ίʔυ 8BSOJOH %BOHFS *OGP Q TDMFBSOEFDPNQPTJUJPO1$" TUBUTQSDPNQ

Slide 22

Slide 22 text

ఆྔ෼ੳͱ୳ࡧతσʔλ෼ੳ データの集計、要約 探索的なデータ分析 (Exploratory Data Analysis: EDA) データへの理解を深め、分析の出発点を⾒つけよう

Slide 23

Slide 23 text

σʔλΛ஌Γɺద੾ʹॲཧ͢Δ 地価公⽰データの基礎情報 σʔλ݅਺ σʔλܕ dim(df_lp_kanto) df_landprice.shape df_landprice.dtypes str(df_lp_kanto) ྻ਺ ߦ਺ ncol(df_lp_kanto) nrow(df_lp_kanto) pandas len(df_landprice.columns) len(df_landprice)

Slide 24

Slide 24 text

σʔλΛோΊΔ ઌ಄ߦ ຤ඌߦ head(df_lp_kanto) df_landprice.head() df_landprice.tail() tail(df_lp_kanto) σʔλܕͱͷ ૊Έ߹Θͤ glimpse(df_lp_kanto) pandas df_landprice.describe() ཁ໿౷ܭྔ summary(df_lp_kanto)

Slide 25

Slide 25 text

σʔλܕ͝ͱʹ֬ೝ skimr::skim(df_lp_kanto) ⽂字列、整数、論理値、数値 ⽋損、完全、件数、最⼩・最⼤、ユニーク 平均値、標準偏差、四分位数 カウント ヒストグラム

Slide 26

Slide 26 text

ώετάϥϜ ggplot2 matplotlob df_lp_kanto %>% ggplot(aes(distance_from_station)) + geom_histogram(bins = 30)) データのばらつき、スパイクを検出 df_landprice. distance_from_station.hist(bins = 30)

Slide 27

Slide 27 text

૬ؔߦྻͷώʔτϚοϓ visdat seaborn (sns) 変数間の関係を⼀望する sns.heatmap(df, vmax=1, vmin=-1, center=0) df_lp_kanto %>% vis_cor()

Slide 28

Slide 28 text

ܽଛ஋ͷूܭɾՄࢹԽ WBSJBCMF O@NJTT QDU@NJTT QBSLT@MBX GPSFTU@MBX QSPYJNJUZ@XJUI@USBOTQPSUBUJPO@GB DJMJUZ VTBHF@EFTDSJQUJPO DPOpHVSBUJPO pSF@BSFB VTF@EJTUSJDU CVJMEJOH@TUSVDUVSF df_lp_kanto %>% select(-starts_with(".")) %>% miss_var_summary() %>% filter(n_miss > 0) naniar

Slide 29

Slide 29 text

ܽଛ஋ͷूܭɾՄࢹԽ df_lp_kanto %>% select(-starts_with(".")) %>% vis_miss() naniar gg_miss_fct(x = df_lp_kanto, fct = .prefecture)

Slide 30

Slide 30 text

ܽଛ஋ͷूܭɾՄࢹԽ naniar gg_miss_fct(x = df_lp_kanto, fct = .prefecture)

Slide 31

Slide 31 text

લॲཧʢσʔλͷΫϨϯδϯάʣ いくつかの作業は モデルの性能を⼤きく左右する データをモデルに流し込む前段階 ⽋損値や外れ値への対処も必要

Slide 32

Slide 32 text

લॲཧͷඞཁੑͱͦͷൣғ 適⽤するモデルのタイプによって異なる 変数のスケールの影響を受けない ⽊ベースのモデル(決定⽊、ランダムフォレスト) 線形回帰、k-means、主成分分析など多くのモデル ⼊⼒のスケールに敏感 変数間のスケールを揃える必要がある ⽋損値や外れ値の影響 ライブラリによる⽋損処理への対応の違い

Slide 33

Slide 33 text

લॲཧͷඞཁੑॏճؼϞσϧ - 変数間の係数の直接的な⽐較が困難 - 標準化回帰係数を利⽤する⽅法もある UFSN FTUJNBUF TUEFSSPS TUBUJTUJD QWBMVF *OUFSDFQU & EJTUBODF@GSPN@TUBUJPO & BDSFBHF F OJHIU@QPQVMBUJPO F

Slide 34

Slide 34 text

લॲཧͷඞཁੑओ੒෼෼ੳ - 主成分分析はスケール不変性を持たない - 異なる単位の変数を⼊⼒に与えると⼤きな値の⼊った変 数の影響が強くなる sklearn.decomposition PCA prcomp(~ distance_from_station + acreage + night_population, data = df_lp_kanto, center = FALSE, scale. = FALSE)

Slide 35

Slide 35 text

લॲཧͷඞཁੑओ੒෼෼ੳ Standard deviations (1, .., p=3): [1] 326371.254 7270.361 2279.386 Rotation (n x k) = (3 x 3): PC1 PC2 PC3 distance_from_station 0.003184224 0.027579010 -0.99961456 acreage 0.001558732 0.999618272 0.02758408 night_population 0.999993716 -0.001645965 0.00314002 summary(pca_res) Importance of components: PC1 PC2 PC3 Standard deviation 326371.2544 7270.3613 2279.38581 Proportion of Variance 0.9995 0.0005 0.00005 Cumulative Proportion 0.9995 1.0000 1.00000

Slide 36

Slide 36 text

લॲཧͷඞཁੑL// スケールの影響を受けて結果が変わる

Slide 37

Slide 37 text

εέʔϦϯάॲཧ - データが取り得る値の規模 (scale)をデータ間で 揃える処理 - 分布には影響しない - 異なる単位をもつデータを扱う場合に役⽴つ --> 連続変数からなる多くのデータに該当する - 体重 (kg)と⾝⻑ (cm)... 同じ値120で あってもそれぞれ意味合いが異なるため⽐較できない

Slide 38

Slide 38 text

.JO.BYεέʔϦϯά 値の範囲を0から1に収まるように調整 - e.g. 画像処理におけるRGBの強さ(0~255) 外れ値の影響を受けやすい 最⼩値、最⼤値に範囲がある場合に有効 ˜ x = x min(x) max(x) min(x) AAACk3ichVG7SgNBFD2u7/iKiiDYLAZFC8NEBUURRC1sBF9RwUjY3Ux0cF/sTkJ0yQ9YCxZWCiLiH9hq4Q9Y+AliqWBj4c1mQVTUu+zcM2fuuXNmRndN4UvGHmuU2rr6hsam5lhLa1t7R7yza8N3Cp7B04ZjOt6WrvncFDZPSyFNvuV6XLN0k2/q+/OV9c0i93zh2OvywOU7lrZri7wwNElUNp7MSGHmeFAqqzNqJu9pRlBSR1RL2EOl4XJgaSXKn0Q2nmBJFob6E6QikEAUy078Ehnk4MBAARY4bEjCJjT49G0jBQaXuB0ExHmERLjOUUaMtAWq4lShEbtP4y7NtiPWpnmlpx+qDdrFpN8jpYoB9sCu2Au7Z9fsib3/2isIe1S8HFDWq1ruZjuOetfe/lVZlCX2PlV/epbIYzL0Ksi7GzKVUxhVffHw5GVtanUgGGTn7Jn8n7FHdksnsIuvxsUKXz1FjB4g9f26f4KN0WRqLDm6Mp6YnYueogl96McQ3fcEZrGIZaRp32Pc4BZ3So8yrcwpC9VSpSbSdONLKEsf9E6aNg== sklearn.preprocessing MinMaxScaler

Slide 39

Slide 39 text

த৺Խ ˜ x = x mean(x) AAACfHichVHLLgRBFD3T3uM1WJDYdAwyIiY1CCKRCBtLr0FiJpPuVqjoV7prJsPED/gBCytERPAVNn7AwieIJYmNiDs9nQgT3EpVnTp1z61TVbprCl8y9hhRamrr6hsam6LNLa1t7bGOzjXfyXsGTxuO6XgbuuZzU9g8LYU0+Ybrcc3STb6u782X99cL3POFY6/KfZdnLW3HFtvC0CRRuVh3Rgpzi5eKh+qMWlRHVItrdqI4lIvFWZIFoVaDVAjiCGPRiV0igy04MJCHBQ4bkrAJDT61TaTA4BKXRYk4j5AI9jkOESVtnrI4ZWjE7tG4Q6vNkLVpXa7pB2qDTjGpe6RUMcAe2BV7Yffsmj2x919rlYIaZS/7NOsVLXdz7Uc9K2//qiyaJXa/VH96ltjGVOBVkHc3YMq3MCr6wsHxy8r08kBpkJ2xZ/J/yh7ZHd3ALrwaF0t8+QRR+oDUz+euBmujydRYcnRpPD47F35FI3rRhwS99yRmsYBFpINzz3GD28iH0q8MKyOVVCUSarrwLZSJT3d2kjs= 平均を0にする scale(), recipes::step_center() sklearn.preprocessing StandardScaler

Slide 40

Slide 40 text

εέʔϦϯά 特徴量を分散で割ることにより、分散1を得る s2 = x var(x) AAACe3ichVHLSsNAFD2Nr1ofrQoiuCkWRUXKtCqKIBTduNTWqtBqSeK0hqZJSNKixv6AP+DClQURqX/hxh9w0U8QlxXcKHibBkRFvcPMnDlzz50zM5KhKpbNWMMndHR2dff4ewN9/QODwdDQ8I6ll02Zp2Vd1c09SbS4qmg8bSu2yvcMk4slSeW7UnG9tb9b4aal6Nq2fWLw/ZJY0JS8Ios2UbnQqHUQD6+Gs3lTlJ3jqlMRzenjmWouFGFR5kb4J4h5IAIvNvXQDbI4hA4ZZZTAocEmrEKERS2DGBgM4vbhEGcSUtx9jioCpC1TFqcMkdgijQVaZTxWo3WrpuWqZTpFpW6SMoxJ9shuWZM9sDp7Ym+/1nLcGi0vJzRLbS03csHzsdTrv6oSzTaOPlV/eraRx7LrVSHvhsu0biG39ZXTi2ZqJTnpTLEaeyb/V6zB7ukGWuVFvt7iyUsE6ANi35/7J9iJR2Pz0fjWQiSx5n2FH+OYwDS99xIS2MAm0nTuGWqo4873LkSEWWGunSr4PM0IvoSw+AHVc5J5 scale(), recipes::step_scale() sklearn.preprocessing StandardScaler

Slide 41

Slide 41 text

特徴量の値を平均0、分散1に変換 →元のデータが正規分布に従うことを仮定 ඪ४Խ 中⼼化 + スケーリング ˜ x = x mean(x) sqrt(var(x)) AAACkHichVHLShxBFD22eeiYZEbdCNk0GQwjIUONERRBfG1CVr5GBUeG6p4aLeyX1TXDaDM/4M6VC1cRRMQPyDbixh9w4SeISwPZZJHbPQ0hkSS36apzT91z61SVFTgy1IzddhndT54+e97Tm+l78fJVNtc/sBr6DWWLsu07vlq3eCgc6YmyltoR64ES3LUcsWbtzMfra02hQul7K3ovEJsu3/JkXdpcE1XNvato6dRE1GqbU2alrrgdtd6bruBeoTXSjsJdpQtNrigZaVdzeVZkSZiPQSkFeaSx4OfOUEENPmw04ELAgybsgCOkbwMlMATEbSIiThGSybpAGxnSNqhKUAUndofGLco2UtajPO4ZJmqbdnHoV6Q0Mcxu2Dl7YNfsgt2xH3/tFSU9Yi97NFsdrQiq2YOh5e//Vbk0a2z/Uv3Ts0YdE4lXSd6DhIlPYXf0zf2jh+XJpeHoLTth9+T/M7tlV3QCr/nNPl0US8fI0AOU/rzux2B1tFj6UBxdHMvPzKVP0YPXeIMC3fc4ZvARCyjTvof4gq+4NAaMCWPamO2UGl2pZhC/hfHpJyJamfk= scale() sklearn.preprocessing StandardScaler

Slide 42

Slide 42 text

特徴量選択の「フィルタ法」に相当する作業 σʔλড়Խ データから不要な列を除去する 情報を含まない… 分散0 相関係数の⾼い変数の⽚⽅を落とす 共通の項、組み合わせを持つ変数 次元削減も有効な⽅法

Slide 43

Slide 43 text

਺஋σʔλͷऔΓѻ͍ 数値にも⾊々 数値データであっても特徴量エンジニアリングが必要 数値データの特徴量エンジニアリングは、各種の 特徴量エンジニアリングの基礎となる

Slide 44

Slide 44 text

਺஋σʔλ๊͕͑Δ໰୊ - スケールが⼤きく異なる - 歪んだ分布をもつ - ⼤⼩の外れ値を含む - 変数間で、線形では表現できないような複雑な関係を持っている - 冗⻑な情報 課題設定、適⽤するモデルの種類によって顕在化 適切なモデルを選択することで問題のいくつかを軽減できる

Slide 45

Slide 45 text

਺஋σʔλ๊͕͑Δ໰୊ 外れ値の影響を受けやすい 順位化されたデータを利⽤する⽊ベースのモデルを ⽤いることで外れ値の影響を軽減 強い相関がある変数を組み込むと、係数が不安定 部分最⼩⼆乗法を⽤いることで説明変数の相関を無相関化 Lۙ๣๏΍αϙʔτϕΫλʔϚγϯ ॏճؼϞσϧ → →

Slide 46

Slide 46 text

ର਺ม׵ 変換後の分布を変化させる 偏りのあるデータで有効 -規模が⼤きい時はその範囲を縮⼩ -⼩さい時に拡⼤ 裾の⻑いデータを⼭に近づける p.16 numpy.log log(), step_log()

Slide 47

Slide 47 text

#PY$PYม׵ 正規分布に従わないデータを 正規分布に近づける⼿法 ポアソン分布のデータに 対して有効 p.24 scipy.stats.boxcox step_BoxCox() ˜ x = ( x 1 , 6= 0 ln(x) = 0 AAAC3nichVHPaxQxFH4zWm1H7W71UvAyuLRU0OVNLShCoejFY39tW2jqmpnNbkOzmTGTXXYd5upBEI8KnhRExD/DS/8BDz15Fo8VvHjw7eygaFFfSPLly/teviRhomRqEY8c99TpiTNnJ6e8c+cvTFeqMxe30rhnItGIYhWbnZCnQkktGlZaJXYSI3g3VGI7PLg72t/uC5PKWG/aYSL2uryjZVtG3BLVrA6ZlaolskG+zJRoW5Z5LBQdqTNuDB/mmVK5x9qGR9ngPlNUuMWvB3lWwmt+Pl9Cn2nx0EfGPKb0wuDqT37ZR48J3SoreszIzr6tN6s1rGMR/kkQlKAGZazG1bfAoAUxRNCDLgjQYAkr4JBS24UAEBLi9iAjzhCSxb6AHDzS9ihLUAYn9oDGDq12S1bTelQzLdQRnaKoG1L6MIcf8R0e4yG+x8/4/a+1sqLGyMuQ5nCsFUmz8mR249t/VV2aLez/Uv3Ts4U23Cq8SvKeFMzoFtFY33/0/Hjj9vpcNo+v8Qv5f4VH+IFuoPtfozdrYv0lePQBwZ/PfRJsLdaDG/XFtaXayp3yKybhMlyBBXrvm7AC92AVGnTuJ2fCmXYq7gP3sfvUfTZOdZ1Scwl+C/fFDywxtko=

Slide 48

Slide 48 text

ਖ਼نੑͷݕఆ シャピロ-ウィルクの正規性検定や正規確率グラフを作成して確認 正規分布に近づいているが P < 0.05 (シャピロ-ウィルクの正規性検定)

Slide 49

Slide 49 text

ϩδοτม׵ step_logit() logit(⇡) = log( ⇡ 1 ⇡ ) AAACiXichVHLSsNAFD3GV62PVt0IbopVqQvLRAVFEIrduPRVFayUJE7rYJqEZFqowR/wB1y4UhARN25168YfcOEniEsFNy68SQOiot5h5t575p47Z2Z0xxSeZOyxRWlta+/ojHXFu3t6+xLJ/oENz665Bi8Ytmm7W7rmcVNYvCCFNPmW43Ktqpt8U9/PB/ubde56wrbWZcPhO1WtYomyMDRJUCk5atoVITNFR0ykFlJFyjLFsqsZPiGHvjoZuIlSMs2yLLTUz0CNgjQiW7aTFyhiFzYM1FAFhwVJsQkNHo1tqGBwCNuBT5hLkQj3OQ4RJ26NqjhVaITu01qhbDtCLcqDnl7INugUk6ZLzBTG2AO7ZC/snl2xJ/b+ay8/7BFoaZDXm1zulBJHQ2tv/7Kq5CX2Pll/apYoYy7UKki7EyLBLYwmv35w/LI2vzrmj7Mz9kz6T9kju6MbWPVX43yFr54gTh+gfn/un8HGVFadzk6tzKRzi9FXxDCMEWTovWeRwxKWUaBzj3CNG9wq3YqqzCnzzVKlJeIM4osp+Q/ra5bV ⽐率や確率のデータ(0~1) を 1 1 AAACd3ichVHLSgMxFD0d3/XRqhvBhcXS4qYlo4LiSnTjsj5aBS1lZkw1dDozzKTFWvwBf8CFIChIFT/DjT/gwk8QlxVEcOHtdEC0qDckOTm55+Yk0R1TeJKxp5DS1d3T29c/EB4cGh6JREfHcp5dcQ2eNWzTdnd0zeOmsHhWCmnyHcflWlk3+bZeWm3tb1e56wnb2pI1h+fL2oElisLQJFGF6FhqT1hFWYulUrEAFaJxlmZ+xDqBGoA4gsjY0Qb2sA8bBioog8OCJGxCg0dtFyoYHOLyqBPnEhL+PscJwqStUBanDI3YEo0HtNoNWIvWrZqerzboFJO6S8oYEuyR3bIme2B37Jl9/Fqr7tdoeanRrLe13ClETic23/5VlWmWOPxS/elZoohF36sg747PtG5htPXV47Pm5tJGop5kV+yF/F+yJ3ZPN7Cqr8b1Ot84R5g+QP353J0gN5tW59Kz6/Px5ZXgK/oxiWnM0HsvYBlryCBL5x7hAg3chN6VKSWpzLRTlVCgGce3UNRPJFeQUg== に 正規分布に近づく →

Slide 50

Slide 50 text

ඇઢܗಛ௃ྔ 直線回帰? が⼀般的 ଟ߲ࣜճؼ εϓϥΠϯճؼ ⾮線形の関係を捉えるため (ただし解釈が困難)

Slide 51

Slide 51 text

ଟ߲ࣜಛ௃ྔ 3次の多項式 f(x) = 3 X i=1 ifi(x) = 1x + 2x2 + 3x3 AAACt3ichVFNS9xAGH5M60e3Vrf1UvASXCwWYZnsCv2ABakXj7q6KrgakjhZB/NlMrvsNuQP+Ad68KQgIv6B3nvpH/DgpddaerTQSw99k02RVqpvyMz7PPM+7zwzYwaOiCRjlwPKg4eDQ8MjjwqPR5+MjRefPluL/HZo8YblO364YRoRd4THG1JIh28EITdc0+Hr5t5Cur7e4WEkfG9V9gK+5RotT9jCMiRRerFuz3RfqjW1GbVdPRY1LdmOq0nT5NIgmNjpkFf0OS3pqrN/QCXpblduYJVgVdWLJVZmWai3Ey1PSshjyS+eookd+LDQhgsOD5JyBwYi+jahgSEgbgsxcSFlIlvnSFAgbZuqOFUYxO7R2CK0mbMe4bRnlKkt2sWhPySliml2wc7YNfvMztk39uu/veKsR+qlR7PZ1/JAHz94vvLzXpVLs8TujepOzxI2XmdeBXkPMiY9hdXXd95/uF55W5+OX7Bj9p38H7FL9olO4HV+WCfLvH6IAj2A9u91307WKmWtWq4sz5Xm3+VPMYJJTGGG7vsV5rGIJTRo34/4gq+4Ut4oumIru/1SZSDXTOCvUPZ/A1VgqBo= 多項式回帰により得られる説明変数xの2乗項や3乗項を特徴量として加える ⾮線形回帰を⽤いずとも、サポートベクターマシン(カーネル関数)で 対応できることもある

Slide 52

Slide 52 text

ଟ߲ࣜಛ௃ྔ 次数を増やすことで 曲線への当てはまりは 良くなるが 過剰学習になりやすい step_poly()

Slide 53

Slide 53 text

εϓϥΠϯճؼ ノット (knots) を利⽤した固定領域の補間 係数の解釈はさらに困難 多項式曲線の次数と ノット数は視覚化 あるいは交差検証により 決定 step_ns()

Slide 54

Slide 54 text

Ϗϯ٧Ί 離散化 - 結果の解釈が簡単になる - スケールによる影響を緩和する - データの変動を抑える 連続値を離散化することで期待されること p.11

Slide 55

Slide 55 text

ަޓ࡞༻ಛ௃ྔ 複数の特徴量を組み合わせる 特徴量間の積によって求まる p.35 x1x2 … 数値の場合は掛け算 ⼆値特徴量の場合は論理積 データのすべての変数を対象に交互作⽤特徴量を計算すると 計算コストが⾼くなるので特徴量選択などにより変数を減らすなどの⼯夫が 必要

Slide 56

Slide 56 text

ΧςΰϦͷऔΓѻ͍ - ⽊ベース以外のモデルでは、カテゴリを数値化する必要が ある - 単純な⽅法ものはカテゴリに含まれる値を独⽴した変数と して扱うこと(ダミー変数化) - カテゴリ内の順序を考慮するには別な⽅法を検討 - サイズの⼤きなカテゴリには対策が必要

Slide 57

Slide 57 text

μϛʔม਺Խ カテゴリに含まれる⽔準の値を特徴量として扱う -ダミーコーディング -One-Hotエンコーディング -Effectコーディング 基準となるカテゴリ(参照カテゴリ)の扱いが異なる

Slide 58

Slide 58 text

μϛʔม਺ 各ダミー変数で該当する場合は1, 該当しないは0 参照カテゴリはすべて0の⾏で表される recipes::step_dummy() pandas.get_dummies p.81

Slide 59

Slide 59 text

μϛʔม਺ 回帰モデルの係数では参照カテゴリの平均値は切⽚ 各係数は参照カテゴリの平均との差を⽰す UFSN FTUJNBUF TUEFSSPS TUBUJTUJD QWBMVF *OUFSDFQU & VSCBO@QMBOOJOH@BSFB@ௐ۠ & VSCBO@QMBOOJOH@BSFB@౎ܭ֎ & VSCBO@QMBOOJOH@BSFB@ඇઢҾ &

Slide 60

Slide 60 text

0OF)PUΤϯίʔσΟϯά 参照カテゴリを含めてダミー変数化 該当すれば1(Hot)、それ以外は0 (Cool) recipes::step_dummy() pandas.get_dummies p.80

Slide 61

Slide 61 text

&⒎FDUΤϯίʔσΟϯά 参照カテゴリは-1で表現される(⾏単位で-1になる) p.83

Slide 62

Slide 62 text

&⒎FDUΤϯίʔσΟϯά 切⽚はターゲット変数の全体平均 回帰係数はカテゴリと全体平均との差を⽰す ダミー変数を主効果として捉える →カテゴリによる差を⽐較しやすい UFSN FTUJNBUF TUEFSSPS TUBUJTUJD QWBMVF *OUFSDFQU VSCBO@QMBOOJOH@BSFB@ௐ۠ VSCBO@QMBOOJOH@BSFB@౎ܭ֎ VSCBO@QMBOOJOH@BSFB@ඇઢҾ

Slide 63

Slide 63 text

μϛʔม਺Խͷൺֱ 参照カテゴリの扱い 特徴 ダミーコーディング ダミー変数の要素がすべて0 k-1のダミー変数 回帰モデルの係数は 参照カテゴリ平均との平均の差 One-Hotエンコーディング ダミー変数化 kのダミー変数 Effectコーディング -1,-1の要素 回帰モデルにおける係数を、直 接ダミー変数の効果として捉え られる

Slide 64

Slide 64 text

ΑΓଟ͘ͷϥϕϧʹରԠ ダミー変数化の問題 - 膨⼤なサイズのカテゴリを扱うとスパースデータになる - リサンプリング時に分散0のデータを選んでしまう恐れ - 新しいカテゴリへの対応ができない - 計算コストが⾼い 対策 - (特徴量ハッシング) - ビンカウンティング、ターゲットエンコーディング

Slide 65

Slide 65 text

Χ΢ϯτΤϯίʔσΟϯά カテゴリ変数に含まれる⽔準の頻度を特徴量に利⽤ 出現頻度による偏りが発⽣ 同順位の⽔準に対して同じ値が与えられる

Slide 66

Slide 66 text

λʔήοτΤϯίʔσΟϯά カテゴリ変数と⽬的変数を利⽤ カテゴリの値を⽬的変数の平均値に置き換える データ漏洩しやすい

Slide 67

Slide 67 text

-FBWFPOFPVUΤϯίʔσΟϯά 各⾏の値は、グループ内での ⾃信を除いた値で計算される ターゲットエンコーディング よりは安全だが、データ漏洩 に注意(同じ値がある)

Slide 68

Slide 68 text

ςΩετσʔλͷऔΓѻ͍ -カテゴリ… 有限の集団 -テキスト… 基本的にカテゴリより⻑く、ユニークな値 -⽂字の⻑さや区切り位置の有無、そして⾔語を意識 -⾃然⾔語処理での前処理タスクを利⽤する

Slide 69

Slide 69 text

ςΩετͷલॲཧ

Slide 70

Slide 70 text

τʔΫϯԽ ⽂書を意味のある⻑さに区切る 単語ベース ⼀⽂ベース ⼀⼩節ベース ⽂書中の単語に境界のない⽇本語では分かち書きを ⾏う必要もある textrecipes::step_tokenize() tokenizers::tokenize_words() p.52

Slide 71

Slide 71 text

#BHPG8PSET ⽂書を単語の出現回数のベクトルで表現。 p.41 低層別荘が建ち並ぶ環境の良い別荘地域 RMeCab::docNgram() tokenizers::tokenize_ngrams()

Slide 72

Slide 72 text

#BHPG8PSET 単語の並び、階層の概念を表現しない →テキストの意味を正しく理解したい場合に役⽴たない →Bag-of-n-Grams (バイグラム、ユニグラム) p.41 低層別荘が建ち並ぶ環境の良い別荘地域 n=2 n=3 低層別荘が, 別荘が建ち, が建ち並ぶ… 低層別荘, 別荘が, が建ち… 情報量は増えるが計算コストも増える

Slide 73

Slide 73 text

#BHPG8PSET p.41 スパースデータ(疎⾏列)になりやすい データ分割時に 分散0の変数とならないように 注意

Slide 74

Slide 74 text

୯ޠͷআڈετοϓϫʔυ 単語数が多いことで特徴量が増える あらかじめ重要でない単語を除外する e.g. 句読点、「です」「ます」「はがにを」etc. 何をストップワードとするかはデータ次第 p.48 textrecipes::step_stopwords()

Slide 75

Slide 75 text

୯ޠͷআڈग़ݱස౓ データセットにおける単語の出現頻度でフィルタリング 出現頻度の少ない(稀な)単語を取り除く textrecipes::step_tokenfilter() p.49

Slide 76

Slide 76 text

5'*%' TF (索引語頻度 Term Frequency)と IDF (逆⽂書頻度 Inverse Document Frequency) の積 ⽂章量の異なりによる単語の個数、出現頻度を是正する tf idf = tf(w, d) ⇥ idf(w) AAACg3ichVHLLgRBFD3ae7wGG4lEOiZkBJOaISESibCx9BokyKS7p3pU9CvdNSNM7Kz8gIUViQiW/IGNH7DwCWJJYmPhTk8nguBWqurUqXtunarSPUsEkrHHGqW2rr6hsak51tLa1t4R7+xaDdyib/Cs4Vquv65rAbeEw7NSSIuvez7XbN3ia/rOXGV/rcT9QLjOitzz+JatFRxhCkOTROXifdIcFXlTnValmdwdyQ+pm1LYPFCJTO4O5eIJlmJhqD9BOgIJRLHgxi+wiTxcGCjCBocDSdiChoDaBtJg8IjbQpk4n5AI9zkOECNtkbI4ZWjE7tBYoNVGxDq0rtQMQrVBp1jUfVKqGGAP7JK9sHt2zZ7Y+6+1ymGNipc9mvWqlnu5jqOe5bd/VTbNEtufqj89S5iYDL0K8u6FTOUWRlVf2j9+WZ5aGigPsjP2TP5P2SO7oxs4pVfjfJEvnSBGH5D+/tw/wWomlR5LZRbHEzOz0Vc0oRf9SNJ7T2AG81hAls49xBVucKvUK8NKRhmvpio1kaYbX0KZ/gB5OJN6 textrecipes::step_tfidf() ⽂書d内の単語数 ⽂書d内の単語wの出現回数 単語wが含まれる⽂書数

Slide 77

Slide 77 text

ޠװॲཧ εςϛϯά 意味の等しい、異なる表記の単語を統⼀した表記にする p.52 変化形の修正 正規化の⼀種

Slide 78

Slide 78 text

೔෇ɾ࣌ؒσʔλͷऔΓѻ͍ - 時系列データでは⽇付・時間の要素⾃体が特徴量 - 平⽇・休⽇の区分、イベントからの発⽣時刻など⼈間活動が 関与する要素もある - データの背景の要因に対して、より考察が求められる - 変動要因(トレンド、ノイズ、季節性等)を考慮 - 周期、季節性のある情報は三⾓関数で変換可能

Slide 79

Slide 79 text

೔෇ɾ࣌ؒσʔλͷಛ௃ - ⽇付・時間データの特徴量… ⽇付・時間⾃⾝を特徴量 - ラグ特徴量... 特定の時間からの経過時間 - 窓枠特徴量... 固定された期間に含まれる値を要約 ⽇付・時間データに対する特徴量エンジニアリングの基本⽅針

Slide 80

Slide 80 text

೔෇ɾ࣌ؒཁૉͷ෼ղ 2019年7⽉10⽇ (⽔曜⽇) 2019 7 10 数値化、カテゴリ化が可能 令和元年 recipes::step_date() 7⽉ 10⽇ 2019⽉7⽉ 3 ⽔曜⽇

Slide 81

Slide 81 text

ॕ೔൑ఆ カレンダーの情報が必要 2019年4~5⽉の 連休のような特殊な年に注意 recipes::step_holiday() 曜⽇の判定(週末にフラグ) + 祝⽇

Slide 82

Slide 82 text

ϥάಛ௃ྔ 過去の値を現時点の値として利⽤する recipes::step_lag() e.g. 前年同⽉の値、先週の状況 周期性のあるデータであれば 周期に合わせたラグを⽤意するのが妥当 dplyr::lag()

Slide 83

Slide 83 text

΢Οϯυ΢Λ༻͍ͨฏ׈Խ 現在時刻の値を含めて、 過去n点における 平均値・中央値等を使⽤する recipes::step_window() ウィンドウ(n… 窓)のサイズ ⼤きいとより滑らかに ノイズを軽減するのに適する

Slide 84

Slide 84 text

قઅ੒෼ recipes::step_hyperbolic() 季節成分を三⾓関数に当てはめる →周期性を表現可能

Slide 85

Slide 85 text

஍ཧۭؒσʔλͷऔΓѻ͍ - 地球上の地物(実在しないものを含む) - 地理座標と地物の属性を相互に変換可能 - 地物間の関係(隣接、距離)を元にした特徴量の⽣成が可能 - 地理空間データの特性、特に空間的影響を考慮した   分析が求められる

Slide 86

Slide 86 text

ۭؒσʔλͷಛ௃ϕΫλͱϥελ 現実世界に存在する地物をデータ上に⽰したもの - 特に点、線、⾯を扱う - 地物は座標と属性情報をもち、地図上で表現できる ϕΫλσʔλ ϥελσʔλ ⼀定領域を格⼦状のグリッドで囲んだデータ - ラスタを構成する各グリッドに値が記録される - ラスタは時系列で重ねることができる

Slide 87

Slide 87 text

ۭؒσʔλͷಛ௃࠲ඪࢀরܥ 地球上の地物の位置を⽰すために必要 ⼆次元の座標を地球上に投影するため、位置関係と紐づける XY座標または、緯度経度で表現 地図投影法により定義された値を座標とする ஍ཧ࠲ඪܥ ౤Ө࠲ඪܥ

Slide 88

Slide 88 text

ۭؒσʔλͷಛ௃࠲ඪࢀরܥ SRID: 4326(WGS84) 世界測地系 SRID: 6668(JDG2011) ⽇本測地系2011 SRID: 6669-6687(JDG2011) 平⾯直⾓座標系 ஍ཧ࠲ඪܥ ౤Ө࠲ඪܥ 距離や⾯積の計算などの地理空間的な処理を適⽤する際は 地理座標系から投影座標系への変換を⾏う

Slide 89

Slide 89 text

ۭؒσʔλͷಛ௃ۭؒతӨڹ ۭؒతࣗݾ૬ؔ 互いに近い距離にあるものはより強く影響し合う 空間データの空間的な分散を仮定 ۭؒతҟ࣭ੑ 回帰モデルにおける誤差項の仮定 (分散均⼀)と対⽴ 地域性を考慮した解析、分析の設計が必要

Slide 90

Slide 90 text

ॅॴͷ෼ղɺؙΊࠐΈ 東京都千代⽥区⼤⼿町1-1 東京都 千代⽥区⼤⼿町1-1 東京都 千代⽥区 ⼤⼿町1-1 東京都 千代⽥区 ⼤⼿町 1-1 東京都千代⽥区⼤⼿町1-1 東京都千代⽥区⼤⼿町1-1 出典: 国⼟交通省 国⼟数値情報 ⾏政区域データ 第2.3版 N03 平成30年 http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03-v2_3.html 求めるスケールは?

Slide 91

Slide 91 text

δΦίʔσΟϯάɺٯδΦίʔσΟϯά δΦίʔσΟϯά 各種の情報から座標を付与する、特定する作業 特定の座標から位置情報を含む情報を判別させる ٯδΦίʔσΟϯά e.g. 住所、郵便番号から座標 e.g. 緯度経度をメッシュコードに、 座標が含まれる市区町村を判定

Slide 92

Slide 92 text

ϝογϡίʔυ ϝογϡԽ (標準地域コード、標準地域メッシュ) 国勢調査などの、国内全域を調査するために⽤いられる区画区分 ஍Ҭ۠ը ඪ४஍Ҭϝογϡ ن໛ ϝογϡίʔυͷྫ ୈ࣍஍Ҭ۠ը LN ୈ࣍஍Ҭ۠ը ഒ஍Ҭϝογϡ LN ഒ஍Ҭϝογϡ LN ഒ஍Ҭϝογϡ LN ୈ࣍஍Ҭ۠ը ج४஍Ҭϝογϡ LN ஍Ҭϝογϡ N ஍Ҭϝογϡ N ஍Ҭϝογϡ N jpmesh::coords_to_mesh() jismesh.utils::to_meshcode()

Slide 93

Slide 93 text

ྡ઀ؔ܎ 地物間の隣接関係の表現形式 空間隣接⾏列 集中、不均⼀を数値化… ジニ係数 sf::st_relate()

Slide 94

Slide 94 text

ྡ઀ؔ܎ sf::st_intersects() sf::st_disjoint() sf::st_touches() sf::st_crosses() … 関⼼のある地物間の関係を 論理値として扱う

Slide 95

Slide 95 text

ڑ཭ͷܭࢉ 座標参照系に注意 対象とする地物、地物間の距離 距離に応じてカテゴリ化することも検討 e.g. 近距離、中距離、遠距離 recipes::step_geodist() sf::st_distance()