BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース scikit-learn 1.0がスプライン変換と分位点回帰をサポート、プロットAPIを強化

scikit-learn 1.0がスプライン変換と分位点回帰をサポート、プロットAPIを強化

原文(投稿日:2021/10/12)へのリンク

人気の高いPythonベースのマシンラーニング(ML)ライブラリscikit-learnのバージョン1.0がリリースされた。このライブラリは以前から安定しており、リリースに大きな変更は含まれていないが、ソフトウェアの成熟度が向上し、運用レベルに達したことをユーザに伝えるために、プロジェクトメンテナたちはメジャーバージョンの更新を選択したのだ。

プロジェクトチームはTwitterでリリースを発表した。前回の0.24リリース以降、2,100件のプルリクエストがマージされたバージョン1.0には、スプライン変換、分位点回帰、線形One-Class SVM(Support Vector Machine)、プロットAPIの改善など、いくつもの新機能が含まれている。800件近いプルリクエストのマージにより、ドキュメントも大幅に改善された。プロジェクトが恒常的に運用する2リリースの非推奨サイクルを除けば、重大な変更は存在しないが、コードの長期的な安定性と成熟度に関する認識から、ライブラリのメジャーバージョン番号を0から1にアップすることが決定された。中心的開発者のひとりであるAdrin Jalali氏によれば、

ライブラリはかなり前から安定しているので、リリースのバージョンでそれを知らせたいとずっと思っていました ... 長年求めていた機能がいくつか含まれたことで、今がその時だと思ったのです!

"簡単に使えるPython用の汎用目的マシンラーニングライブラリ"として開発されたscikit-learnは、Kaggleが2020年に実施した調査によると、80パーセント以上のデータ科学者が使用している。ライブラリには直線回帰決定木勾配ブースティングといった、広範に使用されているMLアルゴリズムやモデルが数多く実装されている。Google Summer of Codeプロジェクトとして2007年に開始されたこのプロジェクトは、当初はPythonベースの科学計算ライブラリであるSciPyのML"ツールキット"という位置付けだった。2010年初めに最初の公開ベータ版がリリースされ、2020年には、SciPyなど多数のオープンソース科学計算パッケージに資金提供するNumFOCUSスポンサープロジェクトとして受け入れられている。

今回のリリースには、いくつかの新機能が含まれている。重要な変更点のひとつは、コンストラクタと関数のパラメータに、位置引数ではなくキーワード引数が必要になったことだ。既存のヒストグラムベースの勾配ブースティングモデルが"実験的(experimental)"から安定版に移行し、新たなモデルも追加された。そのひとつであるSGDCOneClassSVMモデルはOne-Class SVMの線形バージョンで、確率的勾配降下法(SGD)の使用に適している。これにより、カーネル化されたワンクラスSVMのソリューションを"数桁高速に"適合させることが可能になる。分位点回帰モデルでは、関数の中央値などの分位数を推定することができる。このモデルは、ピンボールロス( pinball loss)を最小化することで適合する。

Hacker News上でのリリースに関する議論では、一部のユーザが、scikit-learnはまだディープラーニングモデルには適していない、と主張している。

- チェックポイントを保存できない (多くの計算時間を要する大規模モデルでは必須の機能)
- 活性化関数を異なるレイヤに割り当てる手段がない
- LSTM、GRUのような複雑なノードがない
- トランスフォーマやエンコーダなどのような、複雑なアーキテクチャを実装する方法がない

GPUハードウェアがサポートされていない点を指摘するユーザもいるが、大半のユーザは、ライブラリの使いやすさやドキュメントの充実度を高く評価している。

scikit-learnは(NumPyの次に)、私がすべての開発プロジェクトで使用しているライブラリのひとつです。Pythonから他の言語への切り替えを考えるたびに、この主力ライブラリにアクセスできなくなる、という事実に直面するのです。もちろん、すべてが理想的であるはずはなく、内部をくまなく調べてまわったこともありました — ですが、APIがデファクト標準であるのには、それなりの理由があるのです。

scikit-learnのコードはGitHubで公開されている。
 

この記事に星をつける

おすすめ度
スタイル

BT