Predict

Predict[{in1out1,in2out2,}]

iniから outiを予測しようとするPredictorFunctionを生成する.

Predict[data,input]

与えられた訓練例から input に関連付けられた出力を予測しようとする.

Predict[data,input,prop]

指定された特性 prop を予測と相対的に計算する.

詳細とオプション

  • Predictは,数値,テキスト,サウンド,画像等を含むさまざまなタイプのデータとスカラー変数との間の関係をモデル化するために使われる.
  • この種のモデリングは,回帰分析としても知られるもので,顧客の行動分析,医療成果の予測,信用リスク評価等によく使われる.
  • 複雑な式は,数やクラスのようにより単純な特徴に自動的に変換される.
  • 最終的なモデルタイプとハイパーパラメータ値は,訓練データについてのクロス確認を使って選択される.
  • 以下は,使用可能な訓練 data の構造である.
  • {in1out1,in2out2,}入力と出力の間のRuleのリスト
    {in1,in2,}{out1,out2,}入力と対応する出力の間のRule
    {list1,list2,}n出力としての各Listn 番目の要素
    {assoc1,assoc2,}"key"入力としての各Association"key"要素
    Dataset[]column出力としてのDatasetの指定された column
  • これに加え,data の特殊形には以下が含まれる.
  • "name"組込みの予測関数
    FittedModel[]PredictorFunction[]に変換されたフィットモデル
  • 各例の入力 iniは,単一のデータ要素,リスト{feature1, },あるいは連想<|"feature1"value1,|>でよい.
  • 各例の出力 outiは数値でなければならない.
  • 予測特性 propPredictorFunctionと同じである.以下はその例である.
  • "Decision"分布と効用関数に基づく最良の予測
    "Distribution"入力を条件とする値の分布
    "SHAPValues"各例のシャープレイ追加特徴の説明
    "SHAPValues"nn 個のサンプルを使ったSHAPの説明
    "Properties"使用可能な全特性のリスト
  • "SHAPValues"は,さまざまな特徴を削除し次に合成した結果の予測を比較することで特徴の貢献度を評価する.オプションMissingValueSynthesisを使って欠測値を合成する方法が指定できる.SHAPの説明は訓練出力の平均からの偏差として与えられる.
  • 次は,組込みの予測器関数の例である.
  • "NameAge"名前を与えられた場合の人の年齢
  • 次は,使用可能なオプションである.
  • AnomalyDetector None予測器が使う異常検出器
    AcceptanceThreshold Automatic異常検出器の稀少確率閾値
    FeatureExtractor Identity学習対象となる特徴をどのように抽出するか
    FeatureNames Automatic入力データに割り当てる特徴の名前
    FeatureTypes Automatic入力データに仮定する特徴タイプ
    IndeterminateThreshold 0どの確率密度より下でIndeterminateを返すか
    Method Automatic使用する回帰アルゴリズム
    MissingValueSynthesis Automatic欠測値の合成方法
    PerformanceGoal Automaticパフォーマンスのどの面について最適化するか
    RecalibrationFunction Automatic予測された値をどのように後処理するか
    RandomSeeding1234どのような擬似乱数生成器のシードを内部的に使うべきか
    TargetDevice "CPU"そこで訓練を行うターゲットデバイス
    TimeGoal Automatic分類器の訓練にどのくらい時間をかけるか
    TrainingProgressReporting Automatic訓練中の進捗状況をどのようにレポートするか
    UtilityFunction Automatic実測値/予測値の関数としての効用
    ValidationSet Automatic生成されたモデルを確かめるためのデータ
  • FeatureExtractor"Minimal"は内部の前処理を出来るだけ簡単にすべきであることを示す.
  • 次は,Methodの可能な設定値である.
  • "DecisionTree"決定木を使って予測する
    "GradientBoostedTrees"勾配ブースティングで訓練した木の集合を使って予測する
    "LinearRegression"特徴の線形結合から予測する
    "NearestNeighbors"最近傍の例から予測する
    "NeuralNetwork"人工の神経回路網を使って予測する
    "RandomForest" 決定木についてのBreimanおよびCutlerの集合体から予測する
    "GaussianProcess"ガウス過程の事前分布を関数に使って予測する
  • 次は,PerformanceGoalの可能な設定値である.
  • "DirectTraining"モデルを検索することなしに,直接データ集合全体について訓練する
    "Memory"予測器の保存条件を最小にする
    "Quality"予測器の確度を最大にする
    "Speed"予測器の速度を最大にする
    "TrainingSpeed"予測器の作成にかける時間を最小にする
    Automaticスピード,確度,メモリの自動トレードオフ
    {goal1,goal2,}goal1goal2等を自動的に組み合せる
  • TrainingProgressReportingの設定として以下を使うことができる.
  • "Panel"動的に更新されるグラフィカルなパネルを表示する
    "Print"Printを使って定期的に情報をレポートする
    "ProgressIndicator"簡単なProgressIndicatorを表示する
    "SimplePanel"学習曲線なしでパネルを動的に更新する
    None情報は何もレポートしない
  • 入手したPredictorFunction[]Informationを使うことができる.

例題

すべて開くすべて閉じる

  (2)

行列の第1列と第2列の特徴を使った第3列の予測方法を学習する:

特徴が与えられた場合に新たな例の値を予測する:

欠落値がある新たな例の値を予測する:

同時点における複数の例の値を予測する:

例の集合について線形回帰を訓練する:

例の特徴が与えられた場合に,予測された値の条件付き分布を得る:

分布の確率密度をプロットする:

予測を信頼帯および訓練データとともにプロットする:

スコープ  (23)

データ形式  (7)

訓練集合を入力例と出力値の間の規則のリストとして指定する:

各例は特徴のリストを含むことができる:

各例に特徴の連想を含ませることができる:

訓練集合を入力リストと出力リストの間の規則のリストとして指定する:

行列中の全データを指定して出力列をマークする:

連想のリスト中のデータを指定して出力キーをマークする:

データ集合中のすべてのデータを指定して出力列をマークする:

データ型  (12)

数値  (3)

数から変数を予測する:

数値ベクトルから変数を予測する:

任意の深さの数値配列から変数を予測する:

名義  (3)

名義的値から変数を予測する:

いくつかの名義的値から変数を予測する:

名義的値と数値の混合から変数を予測する:

数量  (1)

Quantityオブジェクトを含むデータで予測器を訓練する:

この予測器を新たな例に使う:

既知であるのが"Neighborhood"のみの場合に最もありそうな価格を予測する:

  (1)

色の式から変数を予測する:

画像  (1)

画像の色付きの面積を予測するように,予測器を訓練する:

  (1)

特徴がトークンの列であるデータで予測器を訓練する:

欠けたデータ  (2)

欠けた特徴を含むデータ集合で訓練する:

名前付きの特徴を持つデータ集合で予測器を訓練する.キーの順序は重要ではない.キーはなくてもよい:

欠けた特徴を含む例を予測する:

情報  (4)

訓練された予測器から情報を抽出する:

入力の特徴についての情報を取得する:

入力の特徴処理に使われる特徴抽出器を取得する:

サポートされる特性のリストを取得する:

オプション  (23)

AcceptanceThreshold  (1)

異常検出器のある予測器を作る:

予測器の許容閾値を評価時に変える:

予測器の許容閾値を永久的に変える:

AnomalyDetector  (1)

予測器を作成して異常検出器を含めるように指定する:

異常ではない入力で予測器を評価する:

異常な入力で予測器を評価する:

"Distribution"特性は異常検出器の影響を受けない:

異常検出器を予測器から一時的に削除する:

異常検出器を予測器から永久的に削除する:

FeatureExtractor  (2)

FeatureExtractorを使ってカスタム関数でデータを前処理する予測関数を生成する:

"StandardizedVector"メソッドを前処理ルートに加える:

この予測器を新たなデータに使う:

特徴抽出器を作り,データ集合から特徴を抽出する:

抽出した特徴で予測器を訓練する:

特徴抽出器と予測器に結合する:

これで,予測器が初期入力タイプに使えるようになった:

FeatureNames  (2)

予測器を訓練し,各特徴に名前を与える:

連想形式を使って新たな例を予測する:

リスト形式も使うことができる:

名前付きの特徴がある訓練集合で予測器を訓練し,FeatureNamesを使ってその順序を設定する:

特徴は指定された通りに並べられる:

リストからの新たな例を予測する:

FeatureTypes  (2)

テキストデータと名義的データで予測器を訓練する:

最初の特徴は名義的であると,誤って分類された:

最初の特徴はテキストであるとみなされるように指定する:

新たな例を予測する:

名前付きの特徴で予測器を訓練する:

両方の特徴が数値的であるとみなされた:

"gender"という特徴は名義的であるとみなすように指定する:

IndeterminateThreshold  (1)

予測器を訓練する際に,確率密度閾値を指定する:

与えられた例の確率密度を可視化する:

確率密度が0.5より上の値がないので,予測は行われない:

予測が訓練閾値に優先される場合の閾値を指定する:

予測の際に閾値を指定すると,訓練時の閾値が取って代られる:

Method  (4)

線形予測器を訓練する:

最近傍予測器を訓練する:

両方の予測器について,予測された値を特徴の関数としてプロットする:

ランダムフォレスト予測器を訓練する:

検定集合について剰余の標準偏差を求める:

この例では,線形回帰予測器を使うと剰余の標準偏差が大きくなる:

しかし,線形回帰予測器を使うと訓練時間が短くて済む:

線形回帰予測器,神経回路網予測器,ガウス過程予測器を訓練する:

この方法は滑らかな予測器を生む:

ランダムフォレスト予測器と最近傍予測器を訓練する:

これらの方法はあまり滑らかではない予測器を生む:

神経回路網予測器,ランダムフォレスト予測器,ガウス過程予測器を訓練する:

ガウス過程予測器は滑らかで小さいデータ集合をうまく扱う:

MissingValueSynthesis  (1)

2つの入力特徴がある予測器を訓練する:

欠落値がある例についての予測を得る:

欠測値の合成を設定して,既知の値が与えられた場合に各欠測変数を推定される最も可能性の高い値に置き換える(これはデフォルト動作である):

欠落している変数を既知の値を条件としてランダムサンプルで置き換える:

多くのランダムな代入を平均化することが通常は最良の戦略であり,代入によって引き起こされる不確実性を取得することができる:

訓練中に学習メソッドを指定して,データの分布についての学習方法を制御する:

"KernelDensityEstimation"分布を使って値に条件を付けることで欠落値のある例を予測する:

訓練で既存のLearnedDistributionを提供し,訓練中の欠落値の代入と後の評価でこれを使う:

個々の評価のために欠落値を合成するために既存のLearnedDistributionを指定する:

訓練時に連想を渡すことで学習方法と評価戦略の両方を制御する:

PerformanceGoal  (1)

訓練速度に重点を置いて予測器を訓練する:

検定集合の剰余の標準偏差を求める:

デフォルトで,予測速度とパフォーマンスの間で妥協が求められる:

同じデータを使い,訓練速度とメモリに重点を置いて予測器を訓練する:

この予測器のメモリ使用量は少ないが,正確さが劣る:

RecalibrationFunction  (1)

Boston Homesのデータ集合をロードする:

モデル較正を使って予測器を訓練する:

検定集合についての比較プロットを可視化する:

予測器から再較正関数を削除する:

新たな比較プロットを可視化する:

TargetDevice  (1)

ニューラルネットワークを使ってシステムのデフォルトGPUで予測器を訓練し,AbsoluteTimingを見る:

この結果を,デフォルトのCPU計算で得られた時間と比較する:

TimeGoal  (2)

総訓練時間を3秒に指定して予測器を訓練する:

"BostonHomes"データ集合をロードする:

目標訓練時間を0.1秒に指定して予測器を訓練する:

この訓練器の標準偏差は3.2に達した:

目標訓練時間を5秒に指定して分類器を訓練する:

予測器の標準偏差は2.7になった:

TrainingProgressReporting  (1)

"WineQuality"データ集合をロードする:

予測器の訓練中に,訓練の進捗状況をインタラクティブに表示する:

訓練の進捗状況をプロットなしでインタラクティブに表示する:

訓練中に訓練の進捗状況を定期的に出力する:

簡単な進捗状況インジケータを表示する:

進捗状況は報告しない:

UtilityFunction  (2)

予測器を訓練する:

指定された例について確率密度を可視化する:

デフォルトで,最高の確率密度の値が予測される:

これは,ディラック(Dirac)デルタ効用関数に対応する:

予測された値が実際の値よりも小さかった場合にペナルティを科す効用関数を定義する:

この関数を実際の値に対してプロットする:

この効用関数について予測器を訓練する:

確率密度は変わらないのに,予測器の決定が変わった:

予測の際に効用関数を指定すると,訓練の際に指定された効用関数が取って代られる:

予測器の効用を更新する:

組込みの予測器"NameAge"を使って"Claire"という名前の年齢分布を可視化する:

この分布の最も可能性の高い値:

効用関数を変え,最も可能性の高い値の代りに平均値を予測する:

ValidationSet  (1)

"WineQuality"データについて線形回帰予測器を訓練する:

訓練した予測器のL2正規化係数を得る:

検証集合を指定する:

別のL2正規化係数が選ばれた:

アプリケーション  (6)

基本的な線形回帰  (1)

地域のいくつかの特徴を与え,ボストン近郊における不動産物件の中央値を予測する予測器を訓練する:

PredictorMeasurementsObjectを生成し,検定集合についての予測器のパフォーマンスを分析する:

予測された値の関数としての検定集合の値の散布図を可視化する:

この剰余の二乗平均平方根を計算する:

気象分析  (1)

月ごとの平均気温のデータ集合を,町,年,月の関数としてロードする:

データ集合のサンプルを可視化する:

このデータ集合について線形予測器を訓練する:

2020年のいくつかの月について予測された,都市"Lincoln"の気温分布をプロットする:

各月について,予測された気温とエラーバー(標準偏差)をプロットする:

品質評価  (1)

ワインの品質についてのデータ集合をワインの物質特性の関数としてロードする:

いくつかのデータ点を可視化する:

データ集合中の変数の説明を取得する:

"alcohol"変数と"pH"変数の分布を可視化する:

予測器を訓練集合で訓練する:

未知のワインの品質を予測する:

未知のワインの品質を予測する関数をそのpHとアルコールレベルの関数として作成する:

関数をプロットしてこのワインを向上させるためのヒントを得る:

解釈可能な機械学習  (1)

ワインの品質についてのデータ集合をワインの物質特性の関数としてロードする:

ワインの品質を推定するように予測器を訓練する:

例とする瓶を調べる:

調べた瓶の品質を予測する:

この瓶の予測された品質が平均よりもどの程度高い/低いかを計算する:

この瓶についての予測器の出力に各特徴がどの程度影響したかを推定する:

これらの特徴の影響を可視化する:

シャープレイの値が予測された品質を完全に説明していることを確認する:

各特徴を独立したものとして扱うデータの分布を学ぶ:

SHAP値の特徴の重要性を100本のワインについて推定する.各推定には5つのサンプルを使う:

モデルに対して各特徴がどの程度重要であるかを計算する:

モデルの特徴の重要度を可視化する:

特徴の値とモデル予測に対するその影響の間の非線形の関係を可視化する:

コンピュータビジョン  (1)

それ自身の値に関連したゲージの画像を生成する:

このデータ集合について予測器を訓練する:

画像からゲージの値を予測する:

Dynamicを使って予測器とインタラクトする:

顧客の行動分析  (1)

顧客の購買行動についてのデータを含むデータ集合をインポートする:

"GradientBoostedTrees"モデルを訓練して他の特徴から総支出額を予測するようにする:

このモデルを使って地域別の最も可能性が高い支出額を予測する:

このデータを地図上に可視化する:

支出額が多い上位3都市について,支出額を顧客年齢の関数として推定する:

年齢幅を定義する:

モデル予測を計算する:

プロットするデータ集合を作成する:

これを可視化する:

特性と関係  (1)

正規化しない線形回帰予測器とLinearModelFitは,同等のモデルを訓練することができる:

FitNonlinearModelFitは同等のこともある:

考えられる問題  (1)

RandomSeedingオプションは,常に結果の再生可能性を保証する訳ではない.

"WineQuality"データ集合についていくつかの予測器を訓練する:

検証集合について検証した場合の結果を比較する:

おもしろい例題  (1)

1Dデータから学習した後で指定されたメソッドの予測を可視化する関数を作る:

単純なデータ集合についてこの関数を"GaussianProcess"メソッドで試してみる:

他のメソッドの予測を可視化する:

Wolfram Research (2014), Predict, Wolfram言語関数, https://reference.wolfram.com/language/ref/Predict.html (2021年に更新).

テキスト

Wolfram Research (2014), Predict, Wolfram言語関数, https://reference.wolfram.com/language/ref/Predict.html (2021年に更新).

CMS

Wolfram Language. 2014. "Predict." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/Predict.html.

APA

Wolfram Language. (2014). Predict. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Predict.html

BibTeX

@misc{reference.wolfram_2024_predict, author="Wolfram Research", title="{Predict}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/Predict.html}", note=[Accessed: 07-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_predict, organization={Wolfram Research}, title={Predict}, year={2021}, url={https://reference.wolfram.com/language/ref/Predict.html}, note=[Accessed: 07-November-2024 ]}