<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Keita Onabuta</title>
    <description>The latest articles on DEV Community by Keita Onabuta (@konabuta).</description>
    <link>https://dev.to/konabuta</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F222255%2F5d119a13-f2de-4ccf-aec8-07dacdcacf4c.png</url>
      <title>DEV Community: Keita Onabuta</title>
      <link>https://dev.to/konabuta</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/konabuta"/>
    <language>en</language>
    <item>
      <title>Macbook Pro M5 Setup</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Fri, 23 Jan 2026 17:08:30 +0000</pubDate>
      <link>https://dev.to/konabuta/macbook-pro-m5-setup-4ogg</link>
      <guid>https://dev.to/konabuta/macbook-pro-m5-setup-4ogg</guid>
      <description>&lt;p&gt;I have bought Macbook Pro M5 after using Macbook Pro M1 2021 late for 4 years. This blog is a note to myself about what I have installed.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Magnet&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Homebrew&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://brew.sh/" rel="noopener noreferrer"&gt;https://brew.sh/&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;KeyCastr
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install --cask keycastr
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Battery
Install
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -s https://raw.githubusercontent.com/actuallymentor/battery/main/setup.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;80%&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;battery maintain 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Visual Studio code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Karabiner-Elements&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Google Chrome Canary&lt;br&gt;
I really love to use Vertical tabs! That's why I instaleld Canary version of Google Chrome browzer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Visual Studio Code
Install Visual Studio Code from &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;Visual Studio Code&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In Visual Studio Code, open command palete and type "Shell Command: Install 'code' command in PATH" to install command line tool.&lt;/p&gt;




&lt;h1&gt;
  
  
  Terminal setup
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;iTerm2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;fish terminal&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;fish
&lt;span class="nb"&gt;echo&lt;/span&gt; /opt/homebrew/bin/fish | &lt;span class="nb"&gt;sudo tee&lt;/span&gt; &lt;span class="nt"&gt;-a&lt;/span&gt; /etc/shells
chsh &lt;span class="nt"&gt;-s&lt;/span&gt; /opt/homebrew/bin/fish &lt;span class="c"&gt;#change default shell&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;change font for Japanese readability&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew tap homebrew/cask-fonts
brew install --cask font-plemol-jp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;fisher&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-sL&lt;/span&gt; https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | &lt;span class="nb"&gt;source&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; fisher &lt;span class="nb"&gt;install &lt;/span&gt;jorgebucaran/fisher
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;tide
&lt;a href="https://github.com/IlanCosman/tide" rel="noopener noreferrer"&gt;tide&lt;/a&gt; is a tool for customizing Fish prompt.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Install font at first.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install font-hack-nerd-font
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fisher install IlanCosman/tide@v6
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;fzf
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install fzf

fzf --fish | source
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>cli</category>
      <category>devjournal</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Azure Machine Learning is the Best Place for LightGBM</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Thu, 14 May 2020 18:01:49 +0000</pubDate>
      <link>https://dev.to/konabuta/azure-machine-learning-is-best-place-for-lightgbm-4fih</link>
      <guid>https://dev.to/konabuta/azure-machine-learning-is-best-place-for-lightgbm-4fih</guid>
      <description>&lt;p&gt;LightGBM は Microsoft が主導して開発を進めている勾配ブースティングのライブラリです。数多くの実績があり、Microsoft 社内でも利用されています。&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/microsoft" rel="noopener noreferrer"&gt;
        microsoft
      &lt;/a&gt; / &lt;a href="https://github.com/microsoft/LightGBM" rel="noopener noreferrer"&gt;
        LightGBM
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/microsoft/LightGBM/blob/master/docs/logo/LightGBM_logo_black_text.svg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmicrosoft%2FLightGBM%2Fraw%2Fmaster%2Fdocs%2Flogo%2FLightGBM_logo_black_text.svg" width="300"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Light Gradient Boosting Machine&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/cpp.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/cpp.yml/badge.svg?branch=master" alt="C++ GitHub Actions Build Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/python_package.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/python_package.yml/badge.svg?branch=master" alt="Python-package GitHub Actions Build Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/r_package.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/r_package.yml/badge.svg?branch=master" alt="R-package GitHub Actions Build Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/cuda.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/cuda.yml/badge.svg?branch=master" alt="CUDA Version GitHub Actions Build Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/swig.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/swig.yml/badge.svg?branch=master" alt="SWIG Wrapper GitHub Actions Build Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/static_analysis.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/static_analysis.yml/badge.svg?branch=master" alt="Static Analysis GitHub Actions Build Status"&gt;&lt;/a&gt;
&lt;a href="https://ci.appveyor.com/project/guolinke/lightgbm/branch/master" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7d152b9d1bbea585fad274bc923bf399aaf44c50dfac62b2c03cc34259d01e54/68747470733a2f2f63692e6170707665796f722e636f6d2f6170692f70726f6a656374732f7374617475732f317973356f743430316d30666570366c2f6272616e63682f6d61737465723f7376673d74727565" alt="Appveyor Build Status"&gt;&lt;/a&gt;
&lt;a href="https://lightgbm.readthedocs.io/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/856a40cd9df3a1a1a0128efa001d19da76369452d8643397268fd3781e0403ee/68747470733a2f2f72656164746865646f63732e6f72672f70726f6a656374732f6c6967687467626d2f62616467652f3f76657273696f6e3d6c6174657374" alt="Documentation Status"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/actions/workflows/lychee.yml" rel="noopener noreferrer"&gt;&lt;img src="https://github.com/microsoft/LightGBM/actions/workflows/lychee.yml/badge.svg?branch=master" alt="Link checks"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/LightGBM/blob/master/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/33c28d05e56960686e9b465de673614dafd0fb3ed13c3e82b1d5f00f8b818df1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6d6963726f736f66742f6c6967687467626d2e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://jacobtomlinson.dev/effver" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/67ba3add1de5b2e754c0ec9e702b612e784e4c73f842da4b06e52074d0e1d2f1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f76657273696f6e5f736368656d652d4566665665722d303039376137" alt="EffVer Versioning"&gt;&lt;/a&gt;
&lt;a href="https://stackoverflow.com/questions/tagged/lightgbm?sort=votes" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/a23d7ccdb0057ddf226ed5d0718121c3b79df46bafbcc98bbe3d99d094cc78fe/68747470733a2f2f696d672e736869656c64732e696f2f737461636b65786368616e67652f737461636b6f766572666c6f772f742f6c6967687467626d3f6c6f676f3d737461636b6f766572666c6f77266c6f676f436f6c6f723d7768697465266c6162656c3d537461636b4f766572666c6f772532307175657374696f6e73" alt="StackOverflow questions"&gt;&lt;/a&gt;
&lt;a href="https://pypi.org/project/lightgbm" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/344fdbf30f83d6600f866e8d2141aebcb9d19e07db506ccc878f67e0be64d263/68747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f6c6967687467626d2e7376673f6c6f676f3d707974686f6e266c6f676f436f6c6f723d7768697465" alt="Python Versions"&gt;&lt;/a&gt;
&lt;a href="https://pypi.org/project/lightgbm" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/df254a5150be46a3aac84312bea5af3d64294af2315e4f19bbb53ef024b42e9e/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f6c6967687467626d2e7376673f6c6f676f3d70797069266c6f676f436f6c6f723d7768697465" alt="PyPI Version"&gt;&lt;/a&gt;
&lt;a href="https://anaconda.org/conda-forge/lightgbm" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0f5783ee38687e6f7cc64600e0ca3afd556cc2cc02062fff04ba36e72c58d631/68747470733a2f2f696d672e736869656c64732e696f2f636f6e64612f766e2f636f6e64612d666f7267652f6c6967687467626d3f6c6f676f3d636f6e64612d666f726765266c6f676f436f6c6f723d7768697465266c6162656c3d636f6e6461" alt="conda Version"&gt;&lt;/a&gt;
&lt;a href="https://cran.r-project.org/package=lightgbm" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ee912628d9518d1a4881d88e7019fce0d33dc14eea53fab1d9933c37be222fc7/68747470733a2f2f7777772e722d706b672e6f72672f6261646765732f76657273696f6e2f6c6967687467626d" alt="CRAN Version"&gt;&lt;/a&gt;
&lt;a href="https://www.nuget.org/packages/LightGBM" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/ce49e1ec332966fe955f1b521e41e7ec9c5127c7234aa8993ec233ed3c64405a/68747470733a2f2f696d672e736869656c64732e696f2f6e756765742f762f6c6967687467626d3f6c6f676f3d6e75676574266c6f676f436f6c6f723d7768697465" alt="NuGet Version"&gt;&lt;/a&gt;
&lt;a href="https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/LightGBM" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fef82b3c5361bc2f31f62ef3a326e62b40715243eeff78f78bbf65cae82a41b9/68747470733a2f2f696d672e736869656c64732e696f2f77696e6765742f762f4d6963726f736f66742e4c6967687447424d" alt="Winget Version"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed and efficient with the following advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Faster training speed and higher efficiency.&lt;/li&gt;
&lt;li&gt;Lower memory usage.&lt;/li&gt;
&lt;li&gt;Better accuracy.&lt;/li&gt;
&lt;li&gt;Support of parallel, distributed, and GPU learning.&lt;/li&gt;
&lt;li&gt;Capable of handling large-scale data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For further details, please refer to &lt;a href="https://github.com/microsoft/LightGBM/blob/master/docs/Features.rst" rel="noopener noreferrer"&gt;Features&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Benefiting from these advantages, LightGBM is being widely-used in many &lt;a href="https://github.com/microsoft/LightGBM/blob/master/examples/README.md#machine-learning-challenge-winning-solutions" rel="noopener noreferrer"&gt;winning solutions&lt;/a&gt; of machine learning competitions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/microsoft/LightGBM/blob/master/docs/Experiments.rst#comparison-experiment" rel="noopener noreferrer"&gt;Comparison experiments&lt;/a&gt; on public datasets show that LightGBM can outperform existing boosting frameworks on both efficiency and accuracy, with significantly lower memory consumption. What's more, &lt;a href="https://github.com/microsoft/LightGBM/blob/master/docs/Experiments.rst#parallel-experiment" rel="noopener noreferrer"&gt;distributed learning experiments&lt;/a&gt; show that LightGBM can achieve a linear speed-up by using multiple machines for training in specific settings.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Get Started and Documentation&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Our primary documentation is at &lt;a href="https://lightgbm.readthedocs.io/" rel="nofollow noopener noreferrer"&gt;https://lightgbm.readthedocs.io/&lt;/a&gt; and is generated from this repository. If you are new to LightGBM, follow &lt;a href="https://lightgbm.readthedocs.io/en/latest/Installation-Guide.html" rel="nofollow noopener noreferrer"&gt;the installation instructions&lt;/a&gt; on that site.&lt;/p&gt;
&lt;p&gt;Next…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/microsoft/LightGBM" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;本投稿では、Azure Machine Learning で LightGBM を利用するメリットや実装方法について説明します。&lt;/p&gt;

&lt;h2&gt;
  
  
  Azure Machine Learning とは？
&lt;/h2&gt;

&lt;p&gt;Azure が提供する機械学習プラットフォームです。 Python &amp;amp; R のプログラム言語、 機械学習に特化した UI も提供しています。統計解析、従来の機械学習、深層学習、強化学習 (Preview) まであらゆる機械学習要件に対応しています。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fazurecomcdn.azureedge.net%2Fcvt-ad62c8e4101c4ba0d5a132036c66cdb539d5d9e75c449be079f49a6d4d29467e%2Fmediahandler%2Ffiles%2Fvideofiles%2Fthumbnails%2Fazure-ml-video%2FCapture.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fazurecomcdn.azureedge.net%2Fcvt-ad62c8e4101c4ba0d5a132036c66cdb539d5d9e75c449be079f49a6d4d29467e%2Fmediahandler%2Ffiles%2Fvideofiles%2Fthumbnails%2Fazure-ml-video%2FCapture.PNG" alt="azureml" width="128" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Web ページ : &lt;a href="https://azure.microsoft.com/ja-jp/services/machine-learning/" rel="noopener noreferrer"&gt;Azure Machine Learning&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  LightGBM とは？
&lt;/h2&gt;

&lt;p&gt;アルゴリズムの詳細については数多くのブログで説明されているので、ここでは説明を割愛させていただきます。特徴的な点は下記になると思います。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;決定木がベースモデル&lt;/li&gt;
&lt;li&gt;アンサンブル学習としてブースティングを採用&lt;/li&gt;
&lt;li&gt;Leaf-wise tree growth&lt;/li&gt;
&lt;li&gt;ヒストグラム法&lt;/li&gt;
&lt;li&gt;数多くのハイパーパラメータ&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;分析コンペなどで優秀な成績を残しています。&lt;br&gt;
参考 : &lt;a href="https://github.com/microsoft/LightGBM/blob/master/examples/README.md#machine-learning-challenge-winning-solutions" rel="noopener noreferrer"&gt;Winning Solutions&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  モデル学習
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Automated Machine Learning
&lt;/h3&gt;

&lt;p&gt;Microsoft の AutoML といえば、 Azure Machine Learning の自動機械学習 Automated Machine Learning です。 Microsoft Research が開発した &lt;em&gt;&lt;a href="https://arxiv.org/abs/1705.05355" rel="noopener noreferrer"&gt;協調フィルタリングとベイズ最適化の探索アルゴリズム&lt;/a&gt;&lt;/em&gt; により効率的に高精度モデルを探索します。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fazurecomcdn.azureedge.net%2Fcvt-ad62c8e4101c4ba0d5a132036c66cdb539d5d9e75c449be079f49a6d4d29467e%2Fimages%2Fpage%2Fservices%2Fmachine-learning%2Fautomatedml%2Flearning-models.gif%3F637250724766804509" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fazurecomcdn.azureedge.net%2Fcvt-ad62c8e4101c4ba0d5a132036c66cdb539d5d9e75c449be079f49a6d4d29467e%2Fimages%2Fpage%2Fservices%2Fmachine-learning%2Fautomatedml%2Flearning-models.gif%3F637250724766804509" alt="automated-machine-learning" width="128" height="128"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LightGBM は回帰、分類、時系列予測の全てのシナリオでアルゴリズム候補となっており、私の個人的な印象にはなりますが、上位の精度を出すことが多いです。&lt;/p&gt;
&lt;h3&gt;
  
  
  LightGBM Estimator
&lt;/h3&gt;

&lt;p&gt;LightGBM は並列学習に対応しており、大量データのハンドリングも出来ます。Microsoft 社内では、Bing のログ解析に LightGBM が利用されています。&lt;/p&gt;

&lt;p&gt;また、Azure Machine Learning には LightGBM 専用の Estimator が提供されており、マネージドなインフラを利用できるので、すぐに大規模学習を実行することができます。&lt;/p&gt;

&lt;p&gt;Bing チームも Azure Machine Learning の LightGBM Estimator を用いており、最大 13TB 以上のデータを 100台以上の計算環境で並列学習しています。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;training_data_list&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;binary0.train&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;binary1.train&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;validation_data_list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;binary0.test&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;binary1.test&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;lgbm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;LightGBM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source_directory&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;scripts_folder&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="n"&gt;compute_target&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;cpu_cluster&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                &lt;span class="n"&gt;distributed_training&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Mpi&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
                &lt;span class="n"&gt;node_count&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 100台並列の場合
&lt;/span&gt;                &lt;span class="n"&gt;lightgbm_config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;train.conf&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;training_data_list&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;valid&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;validation_data_list&lt;/span&gt;
               &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;experiment&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Experiment&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ws&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;lightgbm-estimator-test&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;experiment&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lgbm&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tags&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;test public docker image&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;ドキュメント : &lt;a href="https://techcommunity.microsoft.com/t5/azure-ai/bing-accelerates-model-training-with-lightgbm-and-azure-machine/ba-p/1006099" rel="noopener noreferrer"&gt;Bing accelerates model training with LightGBM and Azure Machine Learning&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  ハイパーパラメータチューニング
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Hyperdrive
&lt;/h3&gt;

&lt;p&gt;Hyperdrive は Azure Machine Learning が提供するハイパーパラメータチューニング機能になります。LightGBM を利用する際はパラメータチューニングすることが多いので、Hyperdrive の利用は欠かせません。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2txskv7j9f02swqhazt5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2txskv7j9f02swqhazt5.png" alt="hyperdrive-output1" width="800" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fisfnz7c385tauupayvfi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fisfnz7c385tauupayvfi.png" alt="hyperdrive-output2" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hyperdrive のアウトプット例になります。パラメータ探索は、 &lt;code&gt;Grid Search&lt;/code&gt;、&lt;code&gt;Random Search&lt;/code&gt;、&lt;code&gt;Bayesian Optimization&lt;/code&gt; をサポートしています。&lt;/p&gt;

&lt;p&gt;ドキュメント : &lt;a href="https://docs.microsoft.com/ja-jp/azure/machine-learning/how-to-tune-hyperparameters" rel="noopener noreferrer"&gt;Azure Machine Learning でモデルのハイパーパラメーターを調整する&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  モデル推論
&lt;/h2&gt;

&lt;p&gt;LightGBM は ONNX に変換することができます。&lt;a href="https://github.com/onnx/onnxmltools" rel="noopener noreferrer"&gt;onnxmltools&lt;/a&gt; が変換ツールです。Azure Machine Learning で ONNX の推論環境を構築することもできます。&lt;/p&gt;

&lt;p&gt;※ ONNX を利用してモデルの相互運用性が向上します。ONNX はオープンソースのモデルフォーマットで、あらゆるプログラム環境で動作します。&lt;/p&gt;

&lt;p&gt;ドキュメント : &lt;a href="https://docs.microsoft.com/ja-jp/azure/machine-learning/concept-onnx" rel="noopener noreferrer"&gt;ONNX と Azure Machine Learning:ML モデルの作成と能率化&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  モデル解釈
&lt;/h2&gt;

&lt;p&gt;LightGBM のモデルから出力される変数の重要度はモデルに影響している説明変数を理解するために用いられます。モデル解釈手法の &lt;code&gt;Global Surrogate&lt;/code&gt; は、LightGBM のような解釈可能なサロゲートモデルを利用して、複雑な機械学習モデルのグローバル(広域的)解釈を行います。&lt;/p&gt;

&lt;p&gt;Azure Machine Learning では Microsoft が OSS で公開しているモデル解釈フレームワーク Interpret Community を利用することができます。&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/interpretml" rel="noopener noreferrer"&gt;
        interpretml
      &lt;/a&gt; / &lt;a href="https://github.com/interpretml/interpret-community" rel="noopener noreferrer"&gt;
        interpret-community
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Interpret Community extends Interpret repository with additional interpretability techniques and utility functions to handle real-world datasets and workflows.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b23cf2ac8eb1a5b173cf04f904a6516c4ba96e14b535130f6a20ed551c74f4e3/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f696e746572707265742d636f6d6d756e6974793f636f6c6f723d626c75653f6c696e6b3d687474703a2f2f707970692e6f72672f70726f6a6563742f696e746572707265742d636f6d6d756e6974792f"&gt;&lt;img src="https://camo.githubusercontent.com/b23cf2ac8eb1a5b173cf04f904a6516c4ba96e14b535130f6a20ed551c74f4e3/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f696e746572707265742d636f6d6d756e6974793f636f6c6f723d626c75653f6c696e6b3d687474703a2f2f707970692e6f72672f70726f6a6563742f696e746572707265742d636f6d6d756e6974792f" alt="PyPI"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667"&gt;&lt;img src="https://camo.githubusercontent.com/08cef40a9105b6526ca22088bc514fbfdbc9aac1ddbf8d4e6c750e3a88a44dca/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e737667" alt="MIT license"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c068f20fb966bd9a1a31f035819a3d1d9ff9f6f90300a0457c864e453b31f168/68747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f696e746572707265742d636f6d6d756e697479"&gt;&lt;img src="https://camo.githubusercontent.com/c068f20fb966bd9a1a31f035819a3d1d9ff9f6f90300a0457c864e453b31f168/68747470733a2f2f696d672e736869656c64732e696f2f707970692f707976657273696f6e732f696e746572707265742d636f6d6d756e697479" alt="versions"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://dev.azure.com/responsibleai/interpret-community/_build/latest?definitionId=41&amp;amp;branchName=main" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/d1215ae7c5584dd4ac817f064854ef75ceea0d0aacfaa157fe0f9cbc90296040/68747470733a2f2f6465762e617a7572652e636f6d2f726573706f6e7369626c6561692f696e746572707265742d636f6d6d756e6974792f5f617069732f6275696c642f7374617475732f4e696768746c793f6272616e63684e616d653d6d61696e" alt="Build Status"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Interpret Community SDK&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;Interpret-Community is an experimental repository extending &lt;a href="https://github.com/interpretml/interpret" rel="noopener noreferrer"&gt;Interpret&lt;/a&gt;, with additional interpretability techniques and utility functions to handle real-world datasets and workflows for explaining models trained on &lt;strong&gt;tabular data&lt;/strong&gt;. This repository contains the Interpret-Community SDK and Jupyter notebooks with examples to showcase its use.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Contents&lt;/h1&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#intro" rel="noopener noreferrer"&gt;Overview of Interpret-Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#installation" rel="noopener noreferrer"&gt;Installation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#docs" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#models" rel="noopener noreferrer"&gt;Supported Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#explainers" rel="noopener noreferrer"&gt;Supported Interpretability Techniques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#Example" rel="noopener noreferrer"&gt;Use Interpret-Community&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#Visualizations" rel="noopener noreferrer"&gt;Visualizations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#Contributing" rel="noopener noreferrer"&gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/interpretml/interpret-community#code" rel="noopener noreferrer"&gt;Code of Conduct&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="markdown-heading"&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Overview of Interpret-Community&lt;/h1&gt;

&lt;/div&gt;

&lt;p&gt;Interpret-Community extends the &lt;a href="https://github.com/interpretml/interpret" rel="noopener noreferrer"&gt;Interpret&lt;/a&gt; repository and incorporates further community developed and experimental interpretability techniques and functionalities that are designed to enable interpretability for real world scenarios. Interpret-Community enables adding new experimental techniques (or functionalities) and performing comparative analysis to evaluate them.&lt;/p&gt;

&lt;p&gt;Interpret-Community&lt;/p&gt;


&lt;ol&gt;

&lt;li&gt;Actively incorporates innovative experimental interpretability techniques and allows for further expansion by researchers and data scientists&lt;/li&gt;

&lt;li&gt;Applies optimizations to make it possible to run interpretability techniques on real-world datasets at scale&lt;/li&gt;

&lt;li&gt;Provides improvements such as the capability to "reverse the…&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/interpretml/interpret-community" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;&lt;code&gt;Global Surrogate&lt;/code&gt;のようなグローバル解釈だけでなく、&lt;code&gt;SHAP&lt;/code&gt;などのローカル(局所的)解釈もサポートしています。簡単なコーディングと使いやすいダッシュボードが特徴です。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;interpret.ext.glassbox&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;LGBMExplainableModel&lt;/span&gt;
&lt;span class="n"&gt;explainer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;MimicExplainer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                           &lt;span class="n"&gt;x_train&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                           &lt;span class="n"&gt;LGBMExplainableModel&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                           &lt;span class="n"&gt;augment_data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                           &lt;span class="n"&gt;max_num_of_augmentations&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                           &lt;span class="n"&gt;features&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;breast_cancer_data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;feature_names&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                           &lt;span class="n"&gt;classes&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;classes&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://camo.githubusercontent.com/096a1d278e5199fa95e5f2bda67a76d296102114/68747470733a2f2f646f63732e6d6963726f736f66742e636f6d2f656e2d75732f617a7572652f6d616368696e652d6c6561726e696e672f736572766963652f6d656469612f6d616368696e652d6c6561726e696e672d696e746572707265746162696c6974792d6578706c61696e6162696c6974792f676c6f62616c2d6368617274732e706e67" class="article-body-image-wrapper"&gt;&lt;img src="https://camo.githubusercontent.com/096a1d278e5199fa95e5f2bda67a76d296102114/68747470733a2f2f646f63732e6d6963726f736f66742e636f6d2f656e2d75732f617a7572652f6d616368696e652d6c6561726e696e672f736572766963652f6d656469612f6d616368696e652d6c6561726e696e672d696e746572707265746162696c6974792d6578706c61696e6162696c6974792f676c6f62616c2d6368617274732e706e67" alt="interpret-community" width="" height=""&gt;&lt;/a&gt;&lt;br&gt;
　&lt;/p&gt;

&lt;h2&gt;
  
  
  他システムとの連携
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Optuna LightGBM Tuner&lt;br&gt;
&lt;a href="https://preferred.jp/ja/projects/optuna/" rel="noopener noreferrer"&gt;Optuna&lt;/a&gt; にて LightGBM 専用の Tuner を提供しています。Azure Machine Learning 上で Optuna のパラメータチューニングを行うことも可能です。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Neural Network Intelligence&lt;br&gt;
&lt;a href="https://github.com/microsoft/nni" rel="noopener noreferrer"&gt;Neural Network Intelligence&lt;/a&gt;は、Microsoft Research が開発している AutoML Toookit です。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gx2asxruwrxp6kw0woq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1gx2asxruwrxp6kw0woq.png" alt="nni-log" width="800" height="293"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fnni%2Fraw%2Fmaster%2Fdocs%2Fimg%2Foverview.svg%3Fsanitize%3Dtrue" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fnni%2Fraw%2Fmaster%2Fdocs%2Fimg%2Foverview.svg%3Fsanitize%3Dtrue" alt="nni-flow" width="806" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;LightGBM における実装例は、下記ドキュメントをご参照ください。&lt;/p&gt;

&lt;p&gt;ドキュメント : &lt;a href="https://github.com/microsoft/nni/blob/master/docs/en_US/TrialExample/GbdtExample.md" rel="noopener noreferrer"&gt;GBDT in nni&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  まとめ
&lt;/h2&gt;

&lt;p&gt;Azure Machine Learning は LightGBM に関する機能を数多くご提供しています。ぜひ一度使ってみてください。&lt;/p&gt;

&lt;h2&gt;
  
  
  参考情報
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://azure.microsoft.com/ja-jp/free/services/machine-learning/" rel="noopener noreferrer"&gt;Azure 無料アカウントの作成&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.microsoft.com/ja-jp/azure/machine-learning/tutorial-1st-experiment-sdk-setup" rel="noopener noreferrer"&gt;チュートリアル:Python SDK で初めての ML 実験を作成する&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://channel9.msdn.com/Tags/ai?lang=en&amp;amp;lang=ja" rel="noopener noreferrer"&gt;Channel 9 AI Show&lt;/a&gt; (Azure AI の最新機能や動向を動画で紹介)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>machinelearning</category>
      <category>lightgbm</category>
    </item>
    <item>
      <title>Tidyverts による時系列予測モデリング</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Tue, 21 Apr 2020 11:12:06 +0000</pubDate>
      <link>https://dev.to/konabuta/tidyverts-1pdi</link>
      <guid>https://dev.to/konabuta/tidyverts-1pdi</guid>
      <description>&lt;p&gt;R を使って、基本的な時系列予測モデルの構築と予測値算出を行っていきます。本投稿では、R の時系列モデリングのライブラリ &lt;code&gt;tidyverts&lt;/code&gt; を中心に利用します。&lt;/p&gt;

&lt;h3&gt;
  
  
  tidyverts とは？
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://tidyverts.org/"&gt;tidyverts&lt;/a&gt; は、大きく下記の3つのライブラリから構成されます。&lt;br&gt;&lt;br&gt;
&lt;a href="https://tsibble.tidyverts.org/"&gt;tsibble&lt;/a&gt; : 時系列データに特化たデータ型を提供&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QZLxaBKA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://tidyverts.org/images/tsibble.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QZLxaBKA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://tidyverts.org/images/tsibble.png" width="120" height="139"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://fable.tidyverts.org/"&gt;fable&lt;/a&gt; : 時系列予測のモデルを提供&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UBcoxn42--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://tidyverts.org/images/fable.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UBcoxn42--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://tidyverts.org/images/fable.png" width="120" height="139"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://feasts.tidyverts.org/"&gt;feasts&lt;/a&gt; : 時系列データの統計処理や特徴量抽出の機能を提供&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--osN1xhEB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://tidyverts.org/images/feasts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--osN1xhEB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://tidyverts.org/images/feasts.png" width="120" height="139"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Microsoft Forecasting Best Practice
&lt;/h3&gt;

&lt;p&gt;Microsoft が Forecasting の Best Practice 集を公開しています。&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/microsoft"&gt;
        microsoft
      &lt;/a&gt; / &lt;a href="https://github.com/microsoft/forecasting"&gt;
        forecasting
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Time Series Forecasting Best Practices &amp;amp; Examples
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Forecasting Best Practices&lt;/h1&gt;
&lt;p&gt;Time series forecasting is one of the most important topics in data science. Almost every business needs to predict the future in order to make better decisions and allocate resources more effectively.&lt;/p&gt;
&lt;p&gt;This repository provides examples and best practice guidelines for building forecasting solutions. The goal of this repository is to build a comprehensive set of tools and examples that leverage recent advances in forecasting algorithms to build solutions and operationalize them. Rather than creating implementations from scratch, we draw from existing state-of-the-art libraries and build additional utilities around processing and featurizing the data, optimizing and evaluating models, and scaling up to the cloud.&lt;/p&gt;
&lt;p&gt;The examples and best practices are provided as &lt;a href="https://github.com/microsoft/forecastingexamples"&gt;Python Jupyter notebooks and R markdown files&lt;/a&gt; and &lt;a href="https://github.com/microsoft/forecastingfclib"&gt;a library of utility functions&lt;/a&gt;. We hope that these examples and utilities can significantly reduce the “time to market” by simplifying the experience from defining the…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/microsoft/forecasting"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;このリポジトリでも Tidyverts が利用されていますので、是非ご確認ください。&lt;/p&gt;

&lt;p&gt;需要予測などのテーマでは、例えば "店舗" ✖️ "ブランド" ごとにモデルを作る必要があったりします。そのために並列処理の実装が欠かせません。本投稿では言及しませんが、このリポジトリでは、Python では &lt;code&gt;Ray&lt;/code&gt; 、R では &lt;code&gt;{parallel}&lt;/code&gt; を利用して並列処理を実装しています。&lt;/p&gt;

&lt;h3&gt;
  
  
  利用するデータ
&lt;/h3&gt;

&lt;p&gt;Prophet のチュートリアルで使用されている Peyton Manning の Wikipedia の閲覧者数の時系列データを利用します。下記 URL から CSV データをダウンロードしておきます。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/facebook/prophet/blob/master/examples/example_wp_log_peyton_manning.csv"&gt;example_wp_log_peyton_manning.csv&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  分析環境
&lt;/h3&gt;

&lt;p&gt;R Studio や Visual Studio Code で構いません。私は Azure Machine Learning で提供している PaaS の R Studio を利用しています。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://azure.microsoft.com/ja-jp/services/machine-learning/"&gt;Azure Machine Learning&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://channel9.msdn.com/Shows/AI-Show/R-in-Azure-Machine-Learning"&gt;R Support in Azure Machine Learning | AI Show | Channel9&lt;/a&gt;&lt;br&gt;
&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/9_alql02cT0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  ライブラリのロード
&lt;/h3&gt;

&lt;p&gt;利用するライブラリをロードします。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fable&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fable.prophet&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tsibble&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tsibbledata&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;feasts&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lubridate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dplyr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ggplot2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  データ準備と探索
&lt;/h3&gt;

&lt;p&gt;CSV ファイルのパスを指定して、データをロードします。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;read.csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"example_wp_log_peyton_manning.csv"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;colClasses&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nf"&gt;c&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Date"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;"numeric"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; 
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;df に格納されているデータを &lt;code&gt;tsibble&lt;/code&gt;形式に変換し可視化します。"%&amp;gt;%" は R 言語で利用されるパイプ処理を意味しています。autoplot を適用すると可視化まで簡単にできます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ymi2dSKF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829639-9096c600-83de-11ea-8d09-342ab0764ff0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ymi2dSKF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829639-9096c600-83de-11ea-8d09-342ab0764ff0.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fill_gaps&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://tsibble.tidyverts.org/reference/fill_gaps.html"&gt;&lt;code&gt;fill_gaps&lt;/code&gt;&lt;/a&gt; を利用して、データに欠損している日時項目を補完します。また &lt;code&gt;tidyr&lt;/code&gt; の &lt;a href="https://tidyr.tidyverse.org/reference/fill.html"&gt;&lt;code&gt;fill&lt;/code&gt;&lt;/a&gt; で欠損値を補完します。１つ先の時系列データ値を用いて補完する場合は、&lt;code&gt;.direction  = down&lt;/code&gt; と指定します。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fill_gaps&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;tidyr&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;fill&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;.direction&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"down"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;次に &lt;code&gt;feasts&lt;/code&gt; ライブラリの &lt;a href="https://feasts.tidyverts.org/reference/STL.html"&gt;&lt;code&gt;STL&lt;/code&gt;&lt;/a&gt; を用いて、時系列データを "季節" "トレンド" "不規則成分" に分解します。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;dcmp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;lt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;STL&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;season&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;window&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;Inf&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;components&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;dcmp&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;可視化して特徴を確認します。Weekly の季節性トレンドは細かすぎて黒塗りに見えちゃっているようです。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;dcmp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TlSBmCdR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829643-955b7a00-83de-11ea-9ea3-c6d2aa2a66b7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TlSBmCdR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829643-955b7a00-83de-11ea-9ea3-c6d2aa2a66b7.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  時系列モデルの構築と予測値算出
&lt;/h3&gt;

&lt;p&gt;まずは非常にシンプルなモデルを試します。データには季節性などが確認されるものの、これらのモデルは考慮してくれないことが分かります。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MEAN : 平均値&lt;/li&gt;
&lt;li&gt;NAIVE(=RW): ランダムウォークモデル&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ここでは、ドリフトを考慮するモデルも追加します。このデータは後半にトレンドが減少している傾向にあるので、このモデルも減少方向に予測していることが確認できます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;mean&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;MEAN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;naive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;NAIVE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;drift&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;RW&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;drift&lt;/span&gt;&lt;span class="p"&gt;()),&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# ドリフトを考慮&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;.safely&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;forecast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"2 years"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2007&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JVEpvgyd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829661-9ee4e200-83de-11ea-93c7-63a2c8063f33.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JVEpvgyd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829661-9ee4e200-83de-11ea-93c7-63a2c8063f33.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;次に季節性を考慮します。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SNAIVE : 季節性を考慮するランダムウォークモデル&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1年周期の季節性があるデータなので、過去 1 年前のデータを予測とするモデルを採用します。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;mean&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;MEAN&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;naive&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;NAIVE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;drift&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;RW&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;drift&lt;/span&gt;&lt;span class="p"&gt;()),&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# ドリフトを考慮&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;snaive&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;SNAIVE&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;lag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"year"&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;# 季節性を考慮&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;.safely&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;forecast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"2 years"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2007&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dx17PTx1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829667-a1dfd280-83de-11ea-8776-df55021c95a4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dx17PTx1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829667-a1dfd280-83de-11ea-8776-df55021c95a4.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;次に指数平滑化を使用します。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ETS : 指数平滑化&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1年周期を適用してみます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;est&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ETS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;season&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"A"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;period&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"1 year"&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;.safely&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;forecast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"1 year"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2015&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;すると、エラーが出てきました。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Error: Seasonal periods (&lt;code&gt;period&lt;/code&gt;) of length greather than 24 are not supported by ETS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;最大 24 サイクルしか考慮してくれないようです。このデータは Daily のデータなので、年周期の季節性の考慮は難しそうです。&lt;/p&gt;

&lt;p&gt;週周期の季節性があると想定して、モデル構築と予測値算出を行います。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;est&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ETS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;season&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"A"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;period&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"7 days"&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;.safely&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;forecast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"30 days"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2014&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XeYqGKL7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829671-a5735980-83de-11ea-8d9a-a97b7291f9ad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XeYqGKL7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79829671-a5735980-83de-11ea-8d9a-a97b7291f9ad.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;次に ARIMA モデルを利用します。ETS ではうまく動きませんでしたが、ARIMA では、&lt;code&gt;period&lt;/code&gt; や &lt;code&gt;D=1&lt;/code&gt; を設定することで年周期の季節性も考慮してくれます。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(S)ARIMA : (季節)自己回帰和分移動平均
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;arima&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ARIMA&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;~&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;pdq&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;PDQ&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;period&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"365 days"&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;.safely&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;forecast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"2 years"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2007&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6l5NKjwc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79851597-81c10b00-8400-11ea-8d36-05696f099989.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6l5NKjwc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79851597-81c10b00-8400-11ea-8d36-05696f099989.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;次に、Facebook の Prophet を利用します。&lt;code&gt;fable.prophet&lt;/code&gt; というライブラリが公開されており、いままで使ってきた &lt;code&gt;fable&lt;/code&gt; でも Prophet のモデルを組み込めるようになっています。詳細は &lt;a href="https://github.com/mitchelloharawild/fable.prophet"&gt;fable.prophet&lt;/a&gt; からご確認ください。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;prophet&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;y&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="n"&gt;.safely&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;FALSE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;forecast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"2 years"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;%&amp;gt;%&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="n"&gt;autoplot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;filter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;as_tsibble&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_filled&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2007&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wm8-06Zu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79836756-8af3ad00-83eb-11ea-8de9-8536f9bd7d41.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wm8-06Zu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/3815677/79836756-8af3ad00-83eb-11ea-8de9-8536f9bd7d41.png" alt="" width="700" height="432"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;以上です。&lt;/p&gt;

</description>
      <category>azure</category>
      <category>microsoft</category>
      <category>forecasting</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DataDrift in Azure Machine Learning</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Fri, 17 Apr 2020 02:54:20 +0000</pubDate>
      <link>https://dev.to/konabuta/datadrift-in-azure-machine-learning-51i4</link>
      <guid>https://dev.to/konabuta/datadrift-in-azure-machine-learning-51i4</guid>
      <description>&lt;p&gt;一般的に機械学習モデルの精度は落ちていきます。モデル学習時のデータと最新のデータの特徴が変わってくるためです。本投稿では、Azure Machine Learning の Datadrift 機能について説明します。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage.slidesharecdn.com%2Fazureml-datadrift-20200416-200416095947%2F95%2Fdatadrift-in-azure-machine-learning-1-638.jpg%3Fcb%3D1587031238" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimage.slidesharecdn.com%2Fazureml-datadrift-20200416-200416095947%2F95%2Fdatadrift-in-azure-machine-learning-1-638.jpg%3Fcb%3D1587031238" alt="datadrift"&gt;&lt;/a&gt;&lt;br&gt;
※ スライドを Slideshare で公開しています。&lt;br&gt;
&lt;a href="https://www.slideshare.net/keitaonabuta/datadrift-in-azure-machine-learning" rel="noopener noreferrer"&gt;DataDrift in Azure Machine Learning&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;
  
  
  精度変化に対応するための再学習
&lt;/h3&gt;

&lt;p&gt;再学習は次のアプローチでタイミングを検知します。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;運用中のモデルの精度が落ちたとき&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;運用中のモデルの精度が分かるのであれば問題無いのですが、例えばモデルを自社製品に組み込んで出荷してお客様がネットワークに閉じた事業所で利用している場合など、モデルの精度がわからない場合があります。そのような場合には下記アプローチが必要です。&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;データの特徴が変化した時&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;データの様々な特徴の変化を検知します。本投稿でお話する内容になります。では、どういう時にデータの特徴が変化するのか？については様々なケースがありますが、代表的なものを列挙します。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;データ計測方法の変更

&lt;ul&gt;
&lt;li&gt;街頭アンケートをWeb形式に切り替える etc&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;データ品質の劣化

&lt;ul&gt;
&lt;li&gt;欠損値の増加、文字の揺らぎ etc&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;季節性などの自然な変化

&lt;ul&gt;
&lt;li&gt;気温・湿度の変化、消費者の需要の変化 etc&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;データ生成物の変化 etc

&lt;ul&gt;
&lt;li&gt;設備の劣化、嗜好の変化 etc&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Azure Machine Learning
&lt;/h3&gt;

&lt;p&gt;Azure Machine Learning は機械学習のライフサイクルをフルでサポートする機械学習プラットフォームです。AutoML、HyperParameter Tuning のようなモデル学習を効率的に行ったり、MLOps の仕組みもご提供しています。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Azure Machine Learning&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;企業向け仕様の機械学習サービスでモデルをよりすばやく構築してデプロイする&lt;/em&gt;&lt;br&gt;
&lt;a href="https://azure.microsoft.com/ja-jp/services/machine-learning/" rel="noopener noreferrer"&gt;https://azure.microsoft.com/ja-jp/services/machine-learning/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;また、データセットを管理する機能もご提供しています。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;データソースへの接続

&lt;ul&gt;
&lt;li&gt;Azure が提供する様々なデータソースへの接続 (Azure SQL Database, Azure PostgreSQL, Azure MySQL Database, Azure Data Lake Storage Gen2 など)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;属性情報のバージョン管理&lt;/li&gt;
&lt;li&gt;スナップショット保存&lt;/li&gt;
&lt;li&gt;Data Drift (本投稿のトピック)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  DataDrift 機能
&lt;/h3&gt;

&lt;p&gt;DataDrift は学習データや推論データに適用できます。モニタリング対象は大きく下記の2つです。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;データセット全体&lt;/li&gt;
&lt;li&gt;個々の特徴量&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;それぞれどのようなアプローチをしているか説明します。&lt;/p&gt;
&lt;h4&gt;
  
  
  データセット全体
&lt;/h4&gt;

&lt;p&gt;DataDrift を検知する分類モデルを Azure Machine Learning を有しており、それを用いています。比較対象の 2 つのデータ (モデル学習時のデータ、最新のデータ) を識別することを試みます。全く識別できない場合は 0 、完全に識別できる場合は 1 となるようなドリフト係数 (Drift Coefficient) を出力します。また内部でモデル解釈機能を利用しており、ドリフトに寄与している&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.microsoft.com%2Fja-jp%2Fazure%2Fmachine-learning%2Fmedia%2Fhow-to-monitor-datasets%2Fdrift-overview.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.microsoft.com%2Fja-jp%2Fazure%2Fmachine-learning%2Fmedia%2Fhow-to-monitor-datasets%2Fdrift-overview.png" alt="ドリフト係数と寄与している特徴量"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  個々の特徴量
&lt;/h4&gt;

&lt;p&gt;先ほどはデータセット全体を見ましたが、個々の特徴量についてもアプローチすることができます。こちらは様々なメトリックを提供しています。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;数値系データ

&lt;ul&gt;
&lt;li&gt;ワッサースタイン距離、最小値、平均値、最大値&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;カテゴリーデータ

&lt;ul&gt;
&lt;li&gt;ユークリッド距離、一意の値の数&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.microsoft.com%2Fja-jp%2Fazure%2Fmachine-learning%2Fmedia%2Fhow-to-monitor-datasets%2Ffeature-details.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.microsoft.com%2Fja-jp%2Fazure%2Fmachine-learning%2Fmedia%2Fhow-to-monitor-datasets%2Ffeature-details.png" alt="ワッサースタイン距離"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ワッサースタイン距離とは、異常検知や最適輸送経路問題でも利用されるもので、2 つのデータ分布を出力するものです。SciPyでも簡単に算出することができます。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# 2 つのBeta分布のワッサースタイン距離
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;scipy.stats&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;wasserstein_distance&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;
&lt;span class="nf"&gt;wasserstein_distance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;stats&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pdf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;stats&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;beta&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;pdf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F3815677%2F79641590-750b9f80-81d3-11ea-98bb-5ad50c9405af.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F3815677%2F79641590-750b9f80-81d3-11ea-98bb-5ad50c9405af.png" alt="SciPy による出力例"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  他システムとの連携
&lt;/h3&gt;

&lt;p&gt;DataDrift が発生していることを検知する方法としては、デフォルトでメールでのアラート配信機能を提供しています。また、Azure Machine Learning と Event Grid を連携させることで、次のような連携を行うことができます。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DataDrift をトリガーにしてモデルの再学習 &amp;amp; デプロイを自動実行&lt;/li&gt;
&lt;li&gt;Github の Issue を作成&lt;/li&gt;
&lt;li&gt;Teams, Slack に DataDrift の発生を通知&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  まとめ
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;モデル精度維持のためにデータセットをモニタリング

&lt;ul&gt;
&lt;li&gt;モデルの精度は日々変化するものです。データの変化はモデル精度に大きく影響します。&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;モニタリング対象は “データセット全体” &amp;amp; “個々の特徴量”&lt;/li&gt;

&lt;li&gt;イベントドリブンな機械学習パイプラインの実現

&lt;ul&gt;
&lt;li&gt;複雑な機械学習環境の連携性を向上することができます。&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  参考情報
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Channel 9 (短編動画 – 日本語字幕あり)   # チャネル登録ぜひ！&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://channel9.msdn.com/Shows/AI-Show/Drift" rel="noopener noreferrer"&gt;Data Drift Monitoring for Azure ML Datasets&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;製品ドキュメント&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/ja-JP/azure/machine-learning/how-to-monitor-datasets" rel="noopener noreferrer"&gt;データセットでデータ ドリフトを検出する (プレビュー)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/ja-JP/azure/machine-learning/how-to-monitor-datasets" rel="noopener noreferrer"&gt;Azure Kubernetes Service (AKS) にデプロイされたモデルのデータの誤差 (プレビュー) を検出する&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Sample Code (Jupyter)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://nbviewer.jupyter.org/github/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb" rel="noopener noreferrer"&gt;Analyze data drift in Azure Machine Learning datasets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nbviewer.jupyter.org/github/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/monitor-models/data-drift/drift-on-aks.ipynb" rel="noopener noreferrer"&gt;Monitor data drift on models deployed to Azure Kubernetes Service&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

</description>
      <category>azure</category>
      <category>machinelearning</category>
      <category>microsoft</category>
      <category>datadrift</category>
    </item>
    <item>
      <title>BERTによる日本語テキスト分類 (Azure)</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Mon, 30 Mar 2020 11:45:22 +0000</pubDate>
      <link>https://dev.to/konabuta/bert-azure-3c5k</link>
      <guid>https://dev.to/konabuta/bert-azure-3c5k</guid>
      <description>&lt;p&gt;&lt;em&gt;This is Japanese article.&lt;/em&gt;&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/konabuta"&gt;
        konabuta
      &lt;/a&gt; / &lt;a href="https://github.com/konabuta/AzureML-NLP"&gt;
        AzureML-NLP
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      NLP for japanese language text.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
AzureML-NLP&lt;/h1&gt;
&lt;p&gt;本リポジトリでは、Azure Machine Learning を利用した日本語の自然言語処理 NLP モデル構築のサンプルコードを提供します。Microsoft の &lt;a href="https://github.com/microsoft/nlp-recipes"&gt;NLP Best Practice&lt;/a&gt; を参考にしています。&lt;/p&gt;
&lt;h2&gt;
コンテンツ&lt;/h2&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;シナリオ&lt;/th&gt;
&lt;th&gt;モデル&lt;/th&gt;
&lt;th&gt;概要&lt;/th&gt;
&lt;th&gt;対応言語&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;テキスト分類&lt;/td&gt;
&lt;td&gt;BERT&lt;/td&gt;
&lt;td&gt;テキストのカテゴリーを学習・推論する教師付き学習です。&lt;/td&gt;
&lt;td&gt;Japanese&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
Get started&lt;/h2&gt;
&lt;p&gt;最初は &lt;a href="https://azure.microsoft.com/ja-jp/services/cognitive-services/" rel="nofollow"&gt;Azure Cognitive Service&lt;/a&gt; の利用検討を推奨します。この学習済みのモデルで対応できない場合は、カスタムで機械学習モデルを構築する必要がございます。まず、&lt;a href="https://github.com/konabuta/AzureML-NLPSETUP.md"&gt;Setup&lt;/a&gt; を参照し、必要なライブラリを導入してください。&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/konabuta/AzureML-NLP"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;Microosft が公開している自然言語処理のベストプラクティス集 "NLP Best Practices" をベースにした日本語テキスト分類のサンプルコードを作成しました。&lt;/p&gt;

&lt;p&gt;本家と大きく違う点は下記です。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;日本語の BERT Tokenizer を利用する

&lt;ul&gt;
&lt;li&gt;Mecab (+辞書) のダウンロードとインストールの手順を追加&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;日本語 PreTrained モデル を利用する

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/cl-tohoku/bert-japanese"&gt;Hugging Face のモデル&lt;/a&gt;を利用&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;サンプルデータとして Livedoor ニュースを利用&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mecabの辞書の導入が複雑なので本家とマージするかはまだ未定です。&lt;/p&gt;

&lt;p&gt;コード(※抜粋)はこちらです。&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Livedoor コーパスのデータ加工
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Livedoor ニュースコーパスをダウンロードして利用します。
&lt;/span&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;urllib.request&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;urlretrieve&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;tarfile&lt;/span&gt;

&lt;span class="n"&gt;text_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://www.rondhuit.com/download/ldcc-20140209.tar.gz"&lt;/span&gt;
&lt;span class="n"&gt;file_path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"./ldcc-20140209.tar.gz"&lt;/span&gt;
&lt;span class="n"&gt;urlretrieve&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;text_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;file_path&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# gz ファイルを解凍します。
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;tarfile&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'./ldcc-20140209.tar.gz'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'r:gz'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;tar&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;tar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;extractall&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;'livedoor'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Pandas Dataframe を作成します。
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;folder_name&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;listdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;folder_name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;folder_name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;endswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;".txt"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;continue&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;listdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;folder_name&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;folder_name&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"LICENSE.txt"&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;continue&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;folder_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="s"&gt;'r'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;lines&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="k"&gt;continue&lt;/span&gt;
            &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;date&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;label&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;folder_name&lt;/span&gt;
            &lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;:])&lt;/span&gt;
            &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'date'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'label'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;label&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'text'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Series&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;        
        &lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ignore_index&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2. ファインチューニング
&lt;/h4&gt;

&lt;p&gt;準備されている関数  &lt;code&gt;util_nlp&lt;/code&gt; を利用します。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;classifier&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;SequenceClassifier&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;model_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_labels&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;num_labels&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cache_dir&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;CACHE_DIR&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="n"&gt;Timer&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;classifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;fit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;train_dataloader&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_epochs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;NUM_EPOCHS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_gpus&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;NUM_GPUS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;train_time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interval&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;3600&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;精度確認を確認します。&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# テストデータの予測
&lt;/span&gt;&lt;span class="n"&gt;preds&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;classifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;predict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;test_dataloader&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;num_gpus&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;NUM_GPUS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verbose&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# 評価
&lt;/span&gt;&lt;span class="n"&gt;accuracy&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;accuracy_score&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;df_test&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;LABEL_COL&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;preds&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;class_report&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;classification_report&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;df_test&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;LABEL_COL&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;preds&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;target_names&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;label_encoder&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;classes_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;output_dict&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;最終的な精度は 85% ぐらいでした。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;accuracy : 0.866052&lt;/li&gt;
&lt;li&gt;f1-score : 0.858849&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>azure</category>
      <category>bert</category>
      <category>machinelearning</category>
      <category>pytorch</category>
    </item>
    <item>
      <title>How to create SSH Key on Mac Terminal</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Sun, 29 Mar 2020 08:05:18 +0000</pubDate>
      <link>https://dev.to/konabuta/how-to-create-ssh-key-on-mac-terminal-3ho5</link>
      <guid>https://dev.to/konabuta/how-to-create-ssh-key-on-mac-terminal-3ho5</guid>
      <description>&lt;p&gt;Just for memorandum.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen &lt;span class="nt"&gt;-t&lt;/span&gt; rsa
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and you get&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/&amp;lt;username&amp;gt;/.ssh/id_rsa): 
/Users/&amp;lt;username&amp;gt;/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/&amp;lt;username&amp;gt;/.ssh/id_rsa.
Your public key has been saved in /Users/&amp;lt;username&amp;gt;/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:O9gHqGxZOua51PfVNL6GZN/FixT6nOuXptCTOzhkqd0 &amp;lt;hostname&amp;gt;
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|       .     .   |
|      o S   o +. |
|   . * o o =+=..o|
|    X o = *+B*=.+|
|   = o . = =oE=*.|
|    +.    . o*B  |
+----[SHA256]-----+
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are files generated under &lt;code&gt;~/.ssh&lt;/code&gt; folder.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; id_rsa
 id_rsa.pub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;id_rsa : private key&lt;br&gt;
id_rsa.pub : public key&lt;/p&gt;

</description>
      <category>ssh</category>
      <category>mac</category>
      <category>unix</category>
    </item>
    <item>
      <title>Microsoft ML/DL テクノロジー</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Sat, 28 Mar 2020 14:49:57 +0000</pubDate>
      <link>https://dev.to/konabuta/microsoft-ml-dl-424f</link>
      <guid>https://dev.to/konabuta/microsoft-ml-dl-424f</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9yWBGVUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://azurecomcdn.azureedge.net/cvt-030c350c97938c1466c1bc270589fb41d127b10e8266f7519c432e7d631769e7/images/page/overview/ai-platform/hero.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9yWBGVUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://azurecomcdn.azureedge.net/cvt-030c350c97938c1466c1bc270589fb41d127b10e8266f7519c432e7d631769e7/images/page/overview/ai-platform/hero.png" alt="Azure AI Top" width="771" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Microsoft の機械学習・深層学習の研究開発、OSSライブラリ、クラウド製品についてまとめています。随時アップデートしていきます。最新版は &lt;a href="https://github.com/konabuta/ML-tech"&gt;konabuta/ML-tech&lt;/a&gt; をご参照ください。&lt;/p&gt;

&lt;h1&gt;
  
  
  ML-tech
&lt;/h1&gt;

&lt;p&gt;Microsoft libraries, tools, recipes, ample codes and workshop contents for machine learning &amp;amp; deep learning.&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Library &amp;amp; tool
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/LightGBM"&gt;LightGBM&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;高速勾配ブースティングのライブラリ。Kaggle の成績上位者が良く利用しており、現場でも実績がある。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/EconML"&gt;EconML&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;統計的因果推論の推定ライブラリ。Microsoft Research の Alice Project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/dowhy"&gt;DoWhy&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;統計的因果推論のライフサイクルをサポートするライブラリ(フレームワーク)。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/nni"&gt;Nueral Network Intelligence&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Neural Architect Search, Hyperparameter Tuning などの AutoML Toolkit。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/interpretml/interpret"&gt;InterpretML&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;一般化加法モデルのGA2Mを実装したライブラリ。一般化線形モデルよりも柔軟な設計が可能なため精度向上が期待できる。モデルが解釈可能なことでも注目されている。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/interpretml/interpret-community"&gt;Interpret Community&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;様々なモデル解釈のテクノロジーを統合 API 経由で提供。また、専用の Dashboard によりモデルの解釈が可能に。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Azure/mmlspark"&gt;MMLSpark&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;分散コンピューティング環境 Apache Spark 上で動作する機械学習フレームワーク。LightGBM、OpenCV なども利用可能。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/EdgeML"&gt;EdgeML&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Edge デバイスのための機械学習のアルゴリズム。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/DiCE"&gt;Dice&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;反事実 (counterfactual) によるモデルの解釈&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/MMdnn"&gt;MMdnn&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Deep Neural Network を可視化するクロスフレームワークソリューション&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/tensorwatch"&gt;TensorWatch&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;機械学習のデバック、可視化ツール&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/onnxruntime"&gt;ONNX Runtime&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;ONNX モデルファイルを動作させるランタイム&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/TagAnomaly"&gt;TagAnomaly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;時系列データ用のタギングツール&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/VoTT"&gt;VoTT&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;画像、動画データ用のタギングツール&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/TextWorld"&gt;TextWorld&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;テキストベースの強化学習のためのゲームシミュレーター&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/AirSim"&gt;AirSim&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;自動運転シミュレーター&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/unilm"&gt;UniLM&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;UniLM - Unified Language Model Pre-training&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://vowpalwabbit.org/"&gt;Vowpal Wabbit&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Microsoft Reserch と旧 Yahoo! Research が開発している高速機械学習ライブラリ。オンライン機械学習、強化学習にも対応。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Z3Prover/z3"&gt;Microsoft Z3 Solver&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;定理証明器 (Theorem Prover)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://cocodataset.org/#home"&gt;COCO Dataset&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;画像データ。80個のカテゴリ、20万以上のラベル付き画像データ、150万個のオブジェクトインスタンスを提供。Microsoft, Facebook などが主要スポンサー。&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Recipe
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/computervision-recipes"&gt;Computer Vision&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;コンピュータービジョンのベストプラクティス集&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/nlp-recipes"&gt;Neural Language Processing&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;自然言語処理のベストプラクティス集&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/recommenders"&gt;Recommenders&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;推薦システムのベストプラクティス集&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/MLOps"&gt;MLOps&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;MLOps のベストプラクティス集&lt;/p&gt;



&lt;h1&gt;
  
  
  3. Sample Codes
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Azure Machine Learning 関連
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/MachineLearningNotebooks"&gt;Azure ML Sample Codes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Azure Machine Learning 公式サンプルコード。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/AzureML-BERT"&gt;BERT&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;BERT の E2E の再学習・転移学習のサンプルコード&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/DistributedDeepLearning"&gt;Distributed Deep Learning&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;分散 Deep Learning サンプルコード。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/HyperdriveDeepLearning"&gt;Hyperdrive for Deep Learning&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Deep Learning モデルのハイパーパラメータチューニングのサンプルコード。Mask RCNN を利用。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/Batch-Scoring-Deep-Learning-Models-With-AML"&gt;Batch Inference&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;バッチ推論のサンプルコード。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/deploy-MLmodels-on-iotedge"&gt;ML on IoT Edge&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Azure IoT Edge に機械学習モデルをデプロイする手順サンプル&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Workshop
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://causalinference.gitlab.io/kdd-tutorial/"&gt;Causal Inference and Counterfactual Reasoning @KDD2018&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;因果推論と基本的な理論の解説 &amp;amp; 因果推論フレームワーク DoWhy ライブラリのチュートリアル&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/rapidsai/notebooks-contrib/tree/branch-0.12/conference_notebooks/KDD_2019"&gt;Nvidia Rapids on Azure ML&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Azure Machine Learning 上で NVidia Rapids を利用するためのチュートリアル。詳細ブログは&lt;a href="https://medium.com/rapids-ai/rapids-on-microsoft-azure-machine-learning-b51d5d5fde2b"&gt;こちら&lt;/a&gt;。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/Azure/DeepLearningForTimeSeriesForecasting"&gt;Deep Learning for Time Series Forecasting @KDD2019&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;深層学習による時系列予測モデリングのチュートリアル。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/graph-knowledgegraph/KDD2019-HandsOn-Tutorial"&gt;From Graph to Knowledge Graph @KDD2019&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;グラフデータとそのモデリングの基礎チュートリアル。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/konabuta/Automated-ML-Workshop"&gt;AutoML Workshop @Dllab&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Azure の AutoML に関するチュートリアル。&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/microsoft/bert-stack-overflow"&gt;Deep Learning with TensorFlow 2.0 and Azure @TensorFlow World 2019 &lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;BERT を用いて Stack overflow の質問に自動的にタグを付与するモデル開発を行うワークショップ&lt;/p&gt;

&lt;h1&gt;
  
  
  5. Training
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.cs.cornell.edu/jeh/book.pdf"&gt;Foundations of Data Science&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;データサイエンスの基本的な理論について記載している PDF&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6"&gt;Python for Beginners&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;初心者向け Python 無料講座&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Microsoft NLP Recipes</title>
      <dc:creator>Keita Onabuta</dc:creator>
      <pubDate>Sat, 28 Mar 2020 14:26:05 +0000</pubDate>
      <link>https://dev.to/konabuta/microsoft-nlp-recipes-454p</link>
      <guid>https://dev.to/konabuta/microsoft-nlp-recipes-454p</guid>
      <description>&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/microsoft"&gt;
        microsoft
      &lt;/a&gt; / &lt;a href="https://github.com/microsoft/nlp-recipes"&gt;
        nlp-recipes
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Natural Language Processing Best Practices &amp;amp; Examples
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/microsoft/nlp-recipesNLP-Logo.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gcc1xXr3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/microsoft/nlp-recipesNLP-Logo.png" alt="" width="300"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
NLP Best Practices&lt;/h1&gt;
&lt;p&gt;In recent years, natural language processing (NLP) has seen quick growth in quality and usability, and this has helped to drive business adoption of artificial intelligence (AI) solutions. In the last few years, researchers have been applying newer deep learning methods to NLP. Data scientists started moving from traditional methods to state-of-the-art (SOTA) deep neural network (DNN) algorithms which use language models pretrained on large text corpora.&lt;/p&gt;
&lt;p&gt;This repository contains examples and best practices for building NLP systems, provided as &lt;a href="https://github.com/microsoft/nlp-recipesexamples"&gt;Jupyter notebooks&lt;/a&gt; and &lt;a href="https://github.com/microsoft/nlp-recipesutils_nlp"&gt;utility functions&lt;/a&gt;. The focus of the repository is on state-of-the-art methods and common scenarios that are popular among researchers and practitioners working on problems involving text and language.&lt;/p&gt;
&lt;h2&gt;
Overview&lt;/h2&gt;
&lt;p&gt;The goal of this repository is to build a comprehensive set of tools and examples that leverage recent advances in NLP algorithms, neural architectures, and distributed machine learning systems
The content is based on…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/microsoft/nlp-recipes"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Microsoft が公開している NLP のベストプラクティス集をご紹介します。&lt;/p&gt;

&lt;h3&gt;
  
  
  NLP Recipes とは？
&lt;/h3&gt;

&lt;p&gt;Microsoft の Data Scientist が主導して開発している自然言語処理(NLP) のベストプラクティスです。&lt;/p&gt;

&lt;h3&gt;
  
  
  コンテンツ
&lt;/h3&gt;

&lt;p&gt;2020年3月28日時点で公開されているコンテンツは下記になります。&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Scenario&lt;/th&gt;
&lt;th&gt;Models&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Languages&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Text Classification&lt;/td&gt;
&lt;td&gt;BERT, XLNet, RoBERTa&lt;/td&gt;
&lt;td&gt;Text classification is a supervised learning method of learning and predicting the category or the class of a document given its text content.&lt;/td&gt;
&lt;td&gt;English, Hindi, Arabic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Named Entity Recognition&lt;/td&gt;
&lt;td&gt;BERT&lt;/td&gt;
&lt;td&gt;Named entity recognition (NER) is the task of classifying words or key phrases of a text into predefined entities of interest.&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text Summarization&lt;/td&gt;
&lt;td&gt;BERTSum&lt;/td&gt;
&lt;td&gt;Text summarization is a language generation task of summarizing the input text into a shorter paragraph of text.&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Entailment&lt;/td&gt;
&lt;td&gt;BERT, XLNet, RoBERTa&lt;/td&gt;
&lt;td&gt;Textual entailment is the task of classifying the binary relation between two natural-language texts,  &lt;em&gt;text&lt;/em&gt; and &lt;em&gt;hypothesis&lt;/em&gt;, to determine if the &lt;em&gt;text&lt;/em&gt; agrees with the &lt;em&gt;hypothesis&lt;/em&gt; or not.&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Question Answering&lt;/td&gt;
&lt;td&gt;BiDAF, BERT, XLNet&lt;/td&gt;
&lt;td&gt;Question answering (QA) is the task of retrieving or generating a valid answer for a given query in natural language, provided with a passage related to the query.&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sentence Similarity&lt;/td&gt;
&lt;td&gt;BERT, GenSen&lt;/td&gt;
&lt;td&gt;Sentence similarity is the process of computing a similarity score given a pair of text documents.&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Embeddings&lt;/td&gt;
&lt;td&gt;Word2Vec&lt;br&gt;fastText&lt;br&gt;GloVe&lt;/td&gt;
&lt;td&gt;Embedding is the process of converting a word or a piece of text to a continuous vector space of real number, usually, in low dimension.&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sentiment Analysis&lt;/td&gt;
&lt;td&gt;Dependency Parser &lt;br&gt;GloVe&lt;/td&gt;
&lt;td&gt;Provides an example of train and use Aspect Based Sentiment Analysis with Azure ML and &lt;a href="http://nlp_architect.nervanasys.com/absa.html"&gt;Intel NLP Architect&lt;/a&gt; .&lt;/td&gt;
&lt;td&gt;English&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  特徴
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HuggingFace のモデルがベース&lt;/li&gt;
&lt;li&gt;少ないコーディング量で NLP モデルの開発が可能&lt;/li&gt;
&lt;li&gt;現状メインは英語のみ対応 (テキスト分類の日本語バージョンを後日公開します！)&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
