# tKMeansModel

K-Meansアルゴリズムの適用に基づいて受信データセットを分析します。

このコンポーネントは、通常はtModelEncoderによって前処理される特徴ベクターを分析して、tPredictが特定のエレメントをクラスター化するために使うクラスタリングモデルを生成します。

この分析からクラスタリングモデルを生成し、このモデルをメモリまたは特定のファイルシステムのどちらかに書き込みます。

ローカルモードでは、Apache Spark 2.4.0以降のバージョンがサポートされています。

デフォルトで、このコンポーネントはTalend Studioと共には出荷されていません。機能マネージャーを使ってインストールする必要があります。 詳細は、[機能マネージャーを使って機能をインストール](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/install-features-to-talend-studio)をご覧ください。

## Apache Spark BatchのtKMeansModelプロパティ

これらのプロパティは、Spark Batchジョブのフレームワークで実行されているtKMeansModelを設定するために使われます。

Spark BatchのtKMeansModelコンポーネントは、機械学習ファミリーに属しています。

このコンポーネントは、ビッグデータ対応のTalend製品およびTalend Data Fabricで利用できます。

## 基本設定

| プロパティ | 説明 |
| --- | --- |
| [Vector to process] (処理するVector) | 特徴ベクターを提供するために使う入力カラムを選択します。多くの場合、このカラムはtModelEncoderによって実行された機能エンジニアリング計算の出力です。 |
| [Save the model on file system] (モデルをファイルシステムに保存) | 特定のファイルシステムにモデルを保管する場合は、このチェックボックスを選択します。オフの場合、モデルはメモリに保管されます。参照用のボタンはSpark [Local] (ローカル)モードでは機能しません。Spark YarnまたはSpark [Standalone] (スタンドアロン)モードを使用している場合は、同じジョブ内のtHDFSConfigurationなどの設定コンポーネントで接続を適切に設定したことを確認する必要があります。 |
| [Number of clusters (K)] (クラスター数(K)) | tKMeansModelでデータをグルーピングするクラスターの数を入力します。<br><br>一般に、多数のクラスターを使うと予測のエラーを減らすことができますが、過剰適合のリスクが高くなります。したがって、たとえば処理対象のデータに含まれている可能性のあるクラスターを観察して、考えられるクラスターの数に基づいて妥当な数を設定することをお勧めします。 |
| [Set distance threshold of the convergence (Epsilon)] (収束の距離しきい値を設定(イプシロン)) | このチェックボックスをオンにして、表示される[Epsilon] (イプシロン)フィールドに、使う収束距離を入力します。すべてのクラスターの中心がこの距離よりも少なく移動すると、モデルのトレーニングは完了したと見なされます。<br><br>このチェックボックスをオフにすると、デフォルトの収束距離*0.0001*が使われます。 |
| [Set the maximum number of runs] (実行最大回数を設定) | このチェックボックスをオンにして、表示される[Maximum number of runs] (実行最大回数)フィールドに、ジョブにモデルのトレーニングを行うために実行させる反復回数を入力します。<br><br>このチェックボックスをオフにすると、デフォルトの値*20*が使われます。 |
| [Set the number of parallelized runs] (並列実行の回数を設定) | この設定はApache Spark 3.0以降では利用できません。<br><br>このチェックボックスをオンにして、表示される[Number of parallelized runs] (並列実行の数)フィールドに、ジョブに並列で実行させる反復の回数を入力します。<br><br>このチェックボックスをオフにすると、デフォルトの値*1*が使われます。これは実際には、反復が連続して実行されることを意味します。<br><br>このパラメーターは、計算のためのリソースの使用を最適化するのに役立ちますが、モデルの予測パフォーマンスには影響しません。 |
| [Initialization function] (初期化ファンクション) | 初期クラスター中心としてポイントを選択するために使うモードを選択します。<br><br><ul> <li> <p> <span>[Random] (ランダム)</span>: ポイントはランダムに選択されます。一般に、このモードは単純なデータセットに使います。</p> </li> <li> <p> <span>K-Means\|\|</span>: このモードはスケーラブルK-Means++として知られています。ほぼ最適な初期化結果を取得できる並列アルゴリズムです。これはデフォルトの初期化モードでもあります。</p> <p>このモードの詳細は、<a href="http://theory.stanford.edu/~sergei/papers/vldb12-kmpar.pdf" target="_blank">Scalable K-Means++</a>をご覧ください。</p> </li> </ul> |
| [Set the number of steps for the initialization] (初期化のステップ数を設定) | このチェックボックスをオンにして、表示される[Steps] (ステップ)フィールドに、最適な初期化結果を得るために実行する初期化ラウンドの数を入力します。<br><br>このチェックボックスをオフにすると、デフォルト値の*5*が使われます。K-Means\|\|モードが最適な結果を得るには、ほとんどの場合*5*ラウンドで十分です。 |
| [Define the random seed] (ランダムシードの定義) | このチェックボックスをオンにし、表示される[Seed] (シード)フィールドに、クラスターセンターの初期化に使うシードを入力します。 |

## 詳細設定

| プロパティ | 説明 |
| --- | --- |
| [Display the centers after the processing] (処理後に中央を表示) | このチェックボックスをオンにすると、クラスターの中心のベクターが[Run] (実行)ビューのコンソールに出力されます。<br><br>この機能は、K-Meansモデルのトレーニングプロセスでクラスターセンターがどのように移動するかを理解する必要がある場合に役立ちます。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、終了コンポーネントとして使用され、入力リンクを必要とします。<br><br>実行の最大数や収束距離などの停止条件を調整することで、トレーニングプロセスを加速させることができます。ただし、トレーニングの停止が早すぎるとパフォーマンスに影響することがあります。 |
| [Model evaluation] (モデル評価) | 設定する必要があるパラメーターは自由パラメーターであるため、値は以前の実験や経験的推測などによって提供される場合があります。すべてのデータセットに適用できる最適値はありません。<br><br>したがって、最適な評価結果が得られるまで、さまざまなパラメーター値のセットを使って生成するリレーションシップモデルをトレーニングする必要があります。ただし、モデルをスコアでランク付けするためには自分で評価コードを記述する必要があります。 |

**関連タスク**

[都市内の事故が発生しやすい地域をモデリングする](https://help.qlik.com/talend/ja-JP/components/8.0/machine-learning/tmodelencoder-tkmeansmodel-ts3configuration-modeling-accident-prone-areas-in-city-spark-batch-component-in-this "このシナリオでは、tKMeansModelコンポーネントを使って、事故が発生しやすい地域をモデリングするために、都市内の救急車の目的地に関するサンプル地理データセットを分析します。")