異常検知パッケージを作ってみたお話 / Create Python package for anomaly detection

4d5544d0ea612705b35dcca4922e3864?s=47 Kon
June 29, 2018

異常検知パッケージを作ってみたお話 / Create Python package for anomaly detection

4d5544d0ea612705b35dcca4922e3864?s=128

Kon

June 29, 2018
Tweet

Transcript

  1. 異常検知パッケージを作ってみたお話 Netadashi Meetup #6 Jun 29, 2018

  2. Yu Ohori (a.k.a. Kon) ML Researcher at NSSOL (2017-) •

    semi-supervised learning • anomaly detection PyCon JP Staff (2018-) @Y_oHr_N @Y-oHr-N 2
  3. 我々は通常と異なる挙動(異常)に関心がある サーバに対する不正アクセス (intrusion detection) クレジットカードの不正利用 (fraud detection) 医療誤診 (medical anomaly

    detection) 設備故障 (industrial damage detection) 3
  4. 4 異常は大きく 3 種類に分けられる Chandola, V., et al., "Anomaly detection:

    A survey," ACM computing surveys, 41(3), 2009. point anomaly contextual anomaly collective anomaly
  5. kenchi is a scikit-learn compatible library for anomaly detection 5

    https://github.com/HazureChi/kenchi
  6. これからのお話 異常検知パッケージ kenchi について 開発時に利用した サービスについて 6

  7. 7 https://github.com/scikit-learn-contrib/project-template 利用サービス一覧 Travis CI Coveralls Read the Docs AppVeyor

    Code Climate Anaconda Cloud binder GitHub PyPI build push, pull request upload hook
  8. GitHub ソースコードをホスティングするサービス • Issue, Label, MileStone で進捗管理 • Redmine? JIRA?

    知らない子ですね 8
  9. Travis CI Linux, macOS に対応した CI サービス push, pull request

    時に hook で起動 • テストに失敗すると通知 • Coveralls を起動 9
  10. AppVeyor Windows に対応した CI サービス push, pull request 時に hook

    で起動 • テスト,ビルドに失敗すると通知 10
  11. Coveralls テストカバレッジを計測するサービス(16 言語対応) • 最近は Codecov が優勢? push, pull request

    時に Travis CI から起動 11
  12. Code Climate ソースコードの品質を検査するサービス(8 言語対応) • テストカバレッジを計測可能 • PEP8, Radon プラグインの追加を推奨

    push, pull request 時に hook で起動 12
  13. Read the Docs Sphinx ドキュメントをホスティングするサービス push, pull request 時に hook

    で起動 • ドキュメントのビルドを実行 13
  14. PyPI Python パッケージを管理するサービス $ python setup.py sdist bdist_wheel $ twine

    upload dist/* $ pip install <package> 14 https://packaging.python.org/tutorials/packaging-projects/
  15. Anaconda Cloud Python パッケージや環境の諸々を管理するサービス $ conda skelton pypi <package> $

    conda build <package> $ anaconda login $ anaconda upload \ > ~/miniconda/conda-bld/<platform>/kenchi-<version>-<pyversion>.tar.bz2 $ conda install -c <channel> <package> 15 https://conda.io/docs/user-guide/tutorials/build-pkgs-skeleton.html
  16. binder Git リポジトリから Jupyter サーバを構築するサービス https://mybinder.org/v2/gh/<org-name>/<repo-name>/<branch|tag|hash-name>?filepath=<path-to-file> • Project Jupyter が

    2016 年にリリース • 誰でも,いつでも,どこでも,環境を再現可能 • 内部で repo2docker を利用 16 Freeman J., and Osheroff, A., "Toward publishing reproducible computation with binder," eLife, 2016.