CRAN Task View: Machine Learning & Statistical Learningについて、機械翻訳を交えて日本語化し掲載しております。
目次
概要
Maintainer: | Torsten Hothorn |
Contact: | Torsten.Hothorn at R-project.org |
Version: | 2024-10-18 |
URL: | https://CRAN.R-project.org/view=MachineLearning |
Source: | https://github.com/cran-task-views/MachineLearning/ |
Contributions: | このタスクビューに対する提案や改良は、GitHubのissueやpull request、またはメンテナのアドレスに電子メールで送ってください。詳しくはContributing guideをご覧ください。 |
Installation: | このタスクビューのパッケージは、ctvパッケージを使用して自動的にインストールすることができます。例えば、ctv::install.views(“MachineLearning”, coreOnly = TRUE)は、すべてのコアパッケージをインストールし、または ctv::update.views(“MachineLearning”)は、まだインストールしていないすべてのパッケージと最新のものをインストールします。詳しくはCRAN Task View Initiativeをご覧ください。 |
いくつかのアドオンパッケージは、コンピュータサイエンスと統計の境界線で開発されたアイデアやメソッドを実装しています。この分野の研究は、通常、機械学習と呼ばれています。パッケージは、大まかに次のトピックで構成できます。
ニューラルネットワーク
- 単隠れ層ニューラルネットワークは、(base Rに同梱)nnetに実装されています。
- RSNNSは、シュトゥットガルトニューラルネットワークシミュレータ(SNNS)へのインターフェースを提供しています。
- ニューラルネットワークの深い学習フレーバーを実装しているパッケージは、次になります。
- deepnet(フィードフォワードニューラルネットワーク、制限付きボルツマンマシン、深い信念ネットワーク、積み重ね自動エンコーダー)
- RcppDL (archived)(自動エンコーディングノイズ除去エンコーダー、 ボルツマンマシン、深い信念ネットワーク)
- h2o(フィードフォワードニューラルネットワーク、ディープオートエンコーダ)
- tensorflowへのインターフェースは、tensorflowで利用できます。
- torchは、libtorch libraryへのインターフェースを実装しています。
- 予測の不確実性は、evregに実装されたENNreg evidential regression neural networkモデルによって定量化することができます。
再帰分割
- ツリー構造のモデルは、CART bookで次のアイデア、回帰、分類および生存分析のためのrpart(ベースRに同梱)とtreeに実装されています。
- rpartは、CARTのようなtreeを計算するために推奨されます。
- パーティショニングアルゴリズムの豊富なツールボックスがWekaで提供され、RWekaはC4.5とM5のJ4.8-バリアントを含め、この実装へのインターフェースを提供します。
- Cubistは、端末の葉、インスタンスベースの修正およびブースティングの線形回帰モデルで(木に似ている)、ルールベースのモデルに適合します。
- C50は、C5.0の分類木、ルールベースモデル、およびこれらのバージョンはブーストを収めることができます。
- preは、より幅広い種類の応答変数に対してルールベースのモデルを適合させることができます。
- 不偏変数選択と統計的停止基準を持つ2つの再帰的分割アルゴリズムがpartyとpartykitで実装されています。ctree()は、応答と各入力変数の独立性を検定するノンパラメトリック条件付き推論に基づくもので、一方mob()はパラメトリックモデルの分割に使用することができる。バイナリツリーや応答のノード分布を可視化するための拡張ツールもpartyとpartykitで利用可能です。
- 混合効果モデル(GLMM)の分割は、glmertreeで行うことができます。
- 構造方程式モデル(SEM)の分割は、semtreeで行うことができます。
- maptreeは、木の可視化のためのグラフィカルなツールを提供しています。
- RPMMは、混合モデルの分割を提供しています。
- partykitは、木や予測と視覚化のための統一されたメソッドを表すための計算インフラを実装しています。
- evtreeは、全体的に最適な木の進化的学習を実現するためにこのインフラストラクチャを使用します。
- 不均一な治療効果に関するサブグループ同定のための木は、partykit、model4you、dipm、quint、 pkg(「SIDES」)、pkg(「psica」)、pkg(「MrSGUIDE」) パッケージ(そしておそらくもっとたくさん)で利用可能です。
ランダムフォレスト
- randomForestは、回帰や分類のためのランダムフォレストアルゴリズムの参照実装を提供しています。
- ipredは、回帰、分類と生存分析のための袋詰めなど、アンサンブル学習を経由して複数のモデルの組み合わせをバンドルしています。
- partyは、条件推論ツリーに基づいて、任意のスケールで測定された応答変数のランダムフォレスト変異体を実装しています。
- randomForestSRCは、生存および回帰と分類の問題のためのBreimanのランダムフォレストの統一された処置を実装しています。
- 分位回帰フォレストquantregForestは、ランダムフォレストアプローチによる探索的変数の数値応答の分位を退縮することができます。
- varSelRFとBorutaは、ランダムフォレストアルゴリズムのための手段で変数選択に焦点を当てています。
- rangerとRboristは、ランダムフォレストの高速なC++実装へのRインターフェースを提供しています。
- RLTは、木の下で重要な変数の分割を特徴とする強化学習木を実装しています。
- wsrfは、従来の確率変数サンプリングの代わりに、可変部分空間選択のための代替変数加重法を実装しています。
- RGFは、正規化貪欲森林と呼ばれる手続きのPython実装へのインターフェースです。
- 予測分布の推定のための森林を含むパラメトリックモデルのランダムフォレストは、次のようなパッケージがあります。
正則収縮方法
- larsは、パラメータ推定値にいくつかの制約を持つ回帰モデルを提供しています。
- grplassoは、パラメータのグループのための同時更新とLasso(GroupWiseでlasso)を提供しています。
- grpregは、グループMCPおよびグループSCADなどの他のグループペナルティモデルの数を実装しています。
- glmpathは、一般化線形モデルおよびCoxモデルのためのL1正則化パスを提供しています。
- glmnetは、線形回帰およびロジスティック、多項回帰モデルのために全体lassoや弾性ネットの正則化パス(elasticnet)を提供しています。
- penalizedは、lasso(L1)とridge(L2)ペナルティ回帰モデル(GLMおよびCoxモデルの両方)の代替実装を提供します。
- RXshrinkは、指定された収縮経路のTRACEを識別して表示し、収縮の適切な程度を決定するために使用できます。
- ahazは、lasso罰則の下でセミパラメトリック加法ハザードモデルを提供しています。
- penalizedLDA (archived)は、スパースソリューションを生成するために、オプションのLASSOペナルティフィッシャーのLDA投影を実装しています。
- pamrは、遺伝子発現解析のための収縮重心分類器とユーティリティを実装しています。
- earthは、多変量適応的回帰スプラインの実装を提供しています。
- hdaとsdaは、ペナルティ判別分析の様々な形態を実装しています。
- LiblineaRは、LIBLINEARライブラリへのインターフェースを提供しています。
- ncvregは、座標降下アルゴリズムを使用してSCADおよびMCP回帰罰則の下で線形およびロジスティック回帰モデルに適合します。
- picassoにも、同じ罰則が適用されます。
- 非ガウスと異分散エラーの下でLassoは、hdmによって推定され、Lasso回帰の低次元のコンポーネントの推定、高次元設定での推定治療効果の推論も含まれています。
- SISは、一般化線形およびコックスモデルでsure独立性スクリーニングを実装しています。
- joinetは、相関関係のある結果のための弾性ネットを利用できます。
- mpathは、共役演算子による複合最適化を用いてロバスト罰則付き一般化線形モデルとロバストサポートベクターマシンをフィッティングします。
- islassoは、誘導平滑化の考え方に基づいたlassoの実装を提供しており、すべてのモデルパラメータについて信頼性の高いp値を得ることができます。
- abessは、高速な多項式時間アルゴリズムに基づいた、線形、ロジスティック、Coxなどの回帰モデルのためのベストサブセット選択を利用できます。
ブーストと勾配降下
- gbm(ツリーベースの機能勾配降下ブースティング)は、様々な形態の勾配ブーストを提供しています。
- lightgbmとxgboostは、いくつかのユーザ定義の目的関数の基本学習者として効率的なツリーを使ってツリーベースのブースティングを実装します。
- bstは、昇圧実装によって最適化されたヒンジ損失を提供しています。
- mboostは、一般化線形や加法、ノンパラメトリックモデルのための拡張可能なフレームワークを提供しています。
- GMMBoostは、混合モデルに対する尤度ベースのブースティングを提供しています。
- GAMLSSのモデルは、gamboostLSSによりブースティングを使用してフィッティングすることができます。
- adabagは、従来のAdaBoostアルゴリズムに変数のインポートなどの機能を追加したものです。
サポートベクターマシンとカーネル法
- e1071のsvn()関数は、LIBSVMライブラリへのインターフェースを提供しています。
- kernlab(SVMsを、RVMsや他のカーネルの学習アルゴリズムを含む)は、カーネル学習のための柔軟なフレームワークを実装しています。
- klaRは、SVMLightの実装(唯一の1-に対するすべての分類用)へのインターフェースを提供しています。
- gKRLSは、非ガウスデータに適用できる一般化カーネル正則化最小二乗法が含まれており、ランダム効果、スプライン、および正則化されていない固定効果と共に使用できます。
ベイズ法
- Bayesian Additive Regression Trees(BART)は、BayesTree 、BARTおよびbartMachineで実装されています。最終的なモデルは多くの弱学習器の合計で定義されています(アンサンブル手法とは異なります)。
- tgp は、ベイジアン非定常、セミパラメトリック非線形回帰、およびベイジアンCARTおよびトレッド線形モデルを含むトレッドガウスプロセスによる設計を提供しています。
- BDgraphは、多変量連続、離散、混合データの無向グラフィカルモデルにおけるベイズ構造学習を実装しています。
- ssgraphは、スパイク・アンド・スラブ前処理に依存する対応する方法を提供しています。
- naivebayesは、ナイーブベイズ分類器を提供しています。
遺伝的アルゴリズムを用いた最適化
- rgenoudは、遺伝的アルゴリズムに基づく最適化ルーチンを提供しています。
- Rmalschainsは、実数値のパラメータ最適化のためのローカル検索で定常状態遺伝的アルゴリズムを組み合わせた進化的アルゴリズムの特殊なタイプであるローカルサーチ鎖、とミームのアルゴリズムを実装しています。
相関ルール
- arulesは、高頻度項目セットおよび相関ルールを閉じた最大頻度項目セット、高頻度項目セットをマイニングするためのアプリオリとエクラの実装へのインターフェースだけでなく、スパースバイナリデータを効率的に処理するための両方のデータ構造体を提供している。
- opusminerは、トランザクションデータのキー関連付けを、レバレッジまたはリフトのいずれかを使用して、自己充足品目セットの形で効率的に見つけるための、OPUS Minerアルゴリズム(C ++で実装されています)へのインターフェースを提供します。
ファジールールベースのシステム
- frbsは、回帰と分類のためのデータからファジィルールベースシステムを学習するための標準的な方法のホストを実装しています。
- RoughSetsは、単一のパッケージ内のラフ集合論(RST)とファジーラフ集合論(FRST)の総合的な実装を提供します。
モデル選択と検証
- e1071は、ハイパーパラメータチューニングのためのtune()関数があり、errorest()(ipred)は、誤り率推定のために使用することができます。
- svmpathは、サポートベクターマシンのコストパラメータCを推定します。
- splitToolsは、クロスバリデーションやその他のリサンプリングスキームのためのデータ分割を提供しています。
- nestedcvは、glmnetとcaretモデルの入れ子交差検証を提供します。
- ROCRは、ROC解析と候補分類器を比較するための他の視覚化技術のための機能を提供しています。
- hdiとstabsは、モデルの範囲のための安定性の選択を実装しています。
- hdiは、高次元モデル内の他の推論手順を提供しています。
因果的機械学習
- DoubleMLは、様々な因果モデルにおける二重機械学習フレームワークのオブジェクト指向の実装です。
- mlr3エコシステムを利用することで、因果関係の推定は、機械学習法の広範なコレクションに基づいて行うことができます。
その他の手法
- evclassは、デンプスター・シェーファーの質量関数を使用して、テストパターンのクラスについての不確実性を定量化します。
- OneR(Oneルール)は、豊富な診断機能と一緒に値や数値データの欠落の洗練された処理のための機能強化と分類アルゴリズムを提供しています。
メタパッケージ
- tidymodelsは、パラメータチューニングや変数の重要度測定など、予測モデル構築のための雑多な関数を提供します。
- mlr3は、さまざまな統計および機械学習パッケージへの高レベルインターフェースを提供します。
- SuperLearnerは、同様のツールボックスを実装しています。
- h2oは、とりわけ、ランダムフォレスト、GBM、GLM(弾性ネット正則)およびディープラーニング(フィードフォワード多層ネットワーク)などの多くの人気アルゴリズムのスケーラブルな実装を有する汎用機械学習プラットフォームを実装しています。
- mlpackは、mlpack C++ライブラリへのインターフェースを提供しています。
- CORElearnは、最も近い隣人、木、ランダムフォレスト、およびいくつかの機能の選択方法として機械学習アルゴリズムのかなり広いクラスを実装します。
- rminerは、インターフェースいくつかの学習アルゴリズムは、他のパッケージに実装され、複数の業績指標を計算します。
- qeMLは、シンプルで便利で統一されたインターフェースを提供する多くのML Rパッケージのラッパーを提供しています。
ビジュアライゼーション(Brandon Greenwellが最初に寄稿)
- stats :: termplot()を使用して、予測メソッドがtype = “terms”をサポートするモデルの用語をプロットすることができます。
- effectsは、線形予測子(例えば、線形モデルおよび一般化線形モデル)を備えたモデルに対して、グラフィカルおよび表形式の効果表示を提供します。
- 予測関数の低次元グラフィカルレンダリングであるフリードマンの部分依存プロット(PDP)は、いくつかのパッケージに実装されています。
- gbmおよびrandomForest 、randomForestSRCは、PDPを表示するための独自の機能を提供しますが、これらのパッケージに適合するモデルに限定されています(randomForest からのpartialPlot()は、一度に1つのプレディクタのみを許可するため、より限定されています) 。
- pdpおよびplotmo 、ICEboxは、より一般的であり、多種多様な機械学習モデル(ランダムフォレスト、サポートベクターマシンなど)のためのPDPの作成を可能にします。
- pdpとplotmoは、どちらも多変量表示をサポートしています(plotmo は2つのプレディクタに限定され、pdp は3つのプレディクタを含むPDPを表示するためにトレリスグラフィックスを使用します)。
- plotmoは、バックグラウンド変数をメジアン(ファクタの第1レベル)で固定します。これは、PDPを構築するよりも速く、情報を少なくします。
- ICEboxは、フリードマンのPDPよりも洗練された個々の条件付き期待値(ICE)曲線の作成に重点を置いています。
- pdpは、partial()関数を使用してICEカーブと中心のICEカーブを構築することもできます。
XAI
- 前項「ビジュアライゼーション」のパッケージや機能の多くは、説明可能な人工知能(XAI)の分野に属します。
- メタパッケージのDALEXとimlは、部分依存性、累積局所効果、順列重要度など、あらゆるモデルを解釈するためのさまざまな方法を提供します。
- 累積局所効果のプロットは、ALEPlotで直接利用することもできます。
- SHAP (SHapley Additive exPlanations)は、MLモデルを解釈するために最も頻繁に使用される手法の1つです。
- これは、予測値を予測因子の加法的寄与に公正な方法で分解するものです。
- 木ベースのモデルには、非常に高速なTreeSHAPアルゴリズムが存在します。
- これは、h2o、xgboost、lightgbmに直接同梱されています。
- モデルに依存しないSHAPの実装は、追加のパッケージで利用可能です。
- fastshapは、主にモンテカルロサンプリングでSHAP値を近似し、shaprとkernelshapはKernelSHAPの実装を提供します。
- これらのパッケージのSHAP値は、shapvizによってプロットすることができます。
- Pythonの「shap」パッケージへの移植は、shapperで提供されています。
- 予測値の代替分解は、limeとiBreakDownで実装されています。
R言語 CRAN Task View:機械学習&統計学習
ピンバック:R言語 CRAN Task Views | トライフィールズ