# テストデータを使ってデシジョンツリーモデルを実行

このセクションでは、デシジョンツリーモデルをテストする方法について説明したり、ターゲット変数がどうやって予測されるかを検証したりします。

## 手順

1. Sparkをフレームワークとして指定する新しいビッグデータバッチジョブを作成します。
2. 前のジョブからtHDFSConfigurationとtFileInputDelimitedをコピーして貼り付けます。
3. tFileInputDelimitedで、テストデータをポイントするよう[Folder/File] (フォルダー/ファイル)値を変更します。

   テストデータはトレーニングデータと同じスキーマがあります。唯一の違いは、コンテンツ詳細と行数です。

   ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_21.png)
4. ワークスペースにtPredictコンポーネントを追加します。[Main] (メイン)行を使って、tFileInputDelimitedをtPredictに接続します。
5. tPredictをダブルクリックして[Basic settings] (基本設定)を開きます。
6. [Define a storage configuration component] (ストレージ設定コンポーネントを定義)チェックボックスを選択して、tHDFSConfigurationを選択します。
7. [Model Type] (モデルタイプ)で、Decision Tree Modelを選択します。
8. 前のセクションで作成したモデルへのパスを追加します。

   ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_22.png)
9. [Sync columns] (カラムを同期)ボタン、そして[...]とクリックして、スキーマを編集します。

   出力パネルにラベルという名前の新しいカラムが追加されます。これは、デシジョンモデルによって生成された予測値のプレースホルダーです。

   ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_23.png)
10. ワークスペースにtReplaceを追加し、[Main] (メイン)行を使ってtPredictにそれを接続します。

    ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_24.png)
11. tReplaceを以下のように設定します。

    ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_25.png)

    tReplaceは、tPredictからの予測結果をブール値表記(0.0,10)からテストデータの表記(はい/いいえ)に変換するのに必要です。

    ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_26.png)
12. tAggregateRowを追加し、[Main] (メイン)行を使ってtReplaceにそれを接続します。

    tAggregateRowは、次のセクションで使用されるモデルパフォーマンスの集計統計の作成に使われます。
13. tAggregateRowを以下のように設定します。

    [Operations] (操作)セクションの[Output] (出力)カラムは無作為に選ばれています。ageは[Group by] (グループ基準)のカウントを容易にするためだけのもので、それ以外の特別な理由で選ばれたものではありません。

    ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_27.png)
14. ワークスペースにtLogRowを追加し、[Main] (メイン)行を使ってtAggregateRowにそれを接続します。

    ジョブ設定は次のようになります。

    ![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_28.png)
15. ジョブを実行します。

    事前に作成したトレーニングジョブは、ローカルとクラスターのどちらかで実行できます。

## タスクの結果

このジョブの想定される結果は、モデル予測を現在の正しい結果に対して示す概要テーブルです。

![](https://help.qlik.com/talend/ja-JP/components/8.0/Resources/images/developing_a_machine_learning_routine_with_talend_and_spark_29.png)

| count (年齢) | conversion (実際の結果) | label (予測される結果) |
| --- | --- | --- |
| 41 | yes | no |
| 12 | no | yes |
| 15 | yes | yes |
| 446 | no | no |

合計514件のテストレコードに対して、出力から以下のことがわかります:

* このモデルは:
  * テストケースのうち41件について(conversion = no)をtrueと誤って予測した
  * テストケースのうち12件について(conversion = no)をfalseと誤って予測した
* このモデルは:
  * テストケースのうち15件について(conversion = no)をfalseと正確に予測した
  * テストケースのうち446件について(conversion = no)をtrueと正確に予測した