Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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()