https://atnd.org/events/96739?k=0a6c00b5543700d21cc9d38d9f2e56f6
異常検知パッケージを作ってみたお話Netadashi Meetup #6Jun 29, 2018
View Slide
Yu Ohori (a.k.a. Kon)ML Researcher at NSSOL (2017-)● semi-supervised learning● anomaly detectionPyCon JP Staff (2018-)@Y_oHr_N@Y-oHr-N2
我々は通常と異なる挙動(異常)に関心があるサーバに対する不正アクセス(intrusion detection)クレジットカードの不正利用(fraud detection)医療誤診(medical anomaly detection)設備故障(industrial damage detection)3
4異常は大きく 3 種類に分けられるChandola, V., et al., "Anomaly detection: A survey," ACM computing surveys, 41(3), 2009.point anomaly contextual anomaly collective anomaly
kenchiis a scikit-learn compatible library for anomaly detection5https://github.com/HazureChi/kenchi
これからのお話異常検知パッケージkenchi について開発時に利用したサービスについて6
7https://github.com/scikit-learn-contrib/project-template利用サービス一覧Travis CICoverallsRead the Docs AppVeyor Code ClimateAnaconda Cloudbinder GitHub PyPIbuildpush, pull request uploadhook
GitHubソースコードをホスティングするサービス● Issue, Label, MileStone で進捗管理● Redmine? JIRA? 知らない子ですね8
Travis CILinux, macOS に対応した CI サービスpush, pull request 時に hook で起動● テストに失敗すると通知● Coveralls を起動9
AppVeyorWindows に対応した CI サービスpush, pull request 時に hook で起動● テスト,ビルドに失敗すると通知10
Coverallsテストカバレッジを計測するサービス(16 言語対応)● 最近は Codecov が優勢?push, pull request 時に Travis CI から起動11
Code Climateソースコードの品質を検査するサービス(8 言語対応)● テストカバレッジを計測可能● PEP8, Radon プラグインの追加を推奨push, pull request 時に hook で起動12
Read the DocsSphinx ドキュメントをホスティングするサービスpush, pull request 時に hook で起動● ドキュメントのビルドを実行13
PyPIPython パッケージを管理するサービス$ python setup.py sdist bdist_wheel$ twine upload dist/*$ pip install 14https://packaging.python.org/tutorials/packaging-projects/
Anaconda CloudPython パッケージや環境の諸々を管理するサービス$ conda skelton pypi $ conda build $ anaconda login$ anaconda upload \> ~/miniconda/conda-bld//kenchi--.tar.bz2$ conda install -c 15https://conda.io/docs/user-guide/tutorials/build-pkgs-skeleton.html
binderGit リポジトリから Jupyter サーバを構築するサービスhttps://mybinder.org/v2/gh///?filepath=● Project Jupyter が 2016 年にリリース● 誰でも,いつでも,どこでも,環境を再現可能● 内部で repo2docker を利用16Freeman J., and Osheroff, A., "Toward publishing reproducible computation with binder," eLife, 2016.