2016-05-24 7 views
1

大きなテーブルがあり、SSASデータマイニングで予測しています。SSASデータマイニングを使用したテスト&トラッキングセットのスコアリング結果の取得

有効の得点試験&トレインケースを取得するのに苦労しています。それぞれの行(PREDICTION JOIN)にアルゴリズムを呼び出さずにを実行する方法はありますか?

例では、私の入力データ・セットには、次の列を持っている場合:

(顧客、国、年齢、性別、BuyAmount)私が取得したい...

(顧客、国、年齢、性別、購入数量、購入数予測、確率)

これはモデル処理中に行われるものであり、おそらく検証チャートを生成するために使用される可能性があるためです。 SystemGetClassificationMatrix。

数十億という行について言えば、パフォーマンスが大幅に向上します。

  • OPENROWSETでSSASにDBからデータを移動しないでください(例はすでにmodel.cases上に保存されている)
  • は書き込みの必要性を避け
  • (予測が参加し、各ラインのためのモデルを実行します)、二重計算を避けます結果は将来の分析のためにどこかに戻ってくる

これは解決するのが些細なはずのものです...私は何かが欠けているに違いありません。

答えて

0

私はMicrosoftからの解決策を得ています。私はここに書いていますので、他の人にとって役に立つかもしれません。

訓練後にクリアされない限り、トレーニング/テストデータはマイニング構造に保存されます。次のクエリは動作するはずです: SELECT *マイニング構造[MiningStructureName] FROM:

SELECTは(..)予測、PredictProbability(..)を[のModelName] MININGモデルから NATURAL PREDICTIONすることができ

を登録しよう。 IsTestCase()

マイニング構造からケースをクリアするマイニング構造FROM IsTrainingCase() SELECT * [MiningStructureName] .CASESが MINING構造体から削除マイニング構造[MiningStructureName] .CASES FROM CASES SELECT * [MiningStructureName ] .CASES

マイニング構造のトレーニングケースにはモデルフィルタが適用されていません。モデルに送信された実際のトレーニングケースを照会する場合は、明示的にwhere句にフィルタを入力するか、またはモデルにドリルスルーが有効になっている場合は直接マイニングモデルのケースをクエリすることができます。 SELECT * FROM MINING STRUCTURE [MiningStructureName ] .CASES where IsTrainingCase()と[Gender] = 'Female' マイニングモデルからSELECT * [ModelName]。ケース

マイニング構造の列名がマイニングモデルの列名と異なる場合は、「NATURAL PREDICTION JOIN」の代わりに「PREDICTION JOIN」を使用して、クエリにマッピングを提供する必要があります。

関連する問題