マインドマップギャラリー データマイニングツール——WEKA
WEKA は、データの前処理、学習アルゴリズム (分類、回帰、クラスタリング、相関分析)、および評価手法を統合した包括的なデータ マイニング ツールです。このマインドマップはWEKAの使い方を紹介していますので、皆さんのお役に立てれば幸いです。
2023-07-07 16:09:18 に編集されましたデータマイニングツール——WEKA
WEKA の紹介
WEKA の正式名称は、Waikato Environmental for Knowledge Analysis です。
WEKA はニュージーランドの鳥の名前でもあり、ニュージーランドのワイカト大学の WEKA チームによって Java で開発された機械学習/データ マイニングのオープン ソース ソフトウェアです。
ソースコードを入手する
http://www.cs.waikato.ac.nz/ml/weka/
http://prdownloads.sourceforge.net/weka/weka-3-6-6jre.exe
2005 年 8 月、第 11 回 ACM SIGKDD 国際会議で、ワイカト大学の WEKA グループがデータ マイニングと知識探索の分野で最高の功績賞を受賞しました。WEKA システムは広く認知され、データ マイニングのリーダーとして高く評価されました。歴史上のマイルストーンの学習は、現在利用できる最も完全なデータ マイニング ツールの 1 つです。 WEKA は毎月 10,000 回以上ダウンロードされています。
主な特徴
これは、データの前処理、学習アルゴリズム (分類、回帰、クラスタリング、相関分析)、および評価手法を統合した包括的なデータ マイニング ツールです。
インタラクティブなビジュアルインターフェイスを備えています
アルゴリズムの学習と比較環境を提供する
そのインターフェイスを通じて、独自のデータ マイニング アルゴリズムを実装できます。
エクスプローラー環境
エリア 1 のいくつかのタブは、さまざまなマイニング タスク パネルを切り替えるために使用されます。
Preprocess (データの前処理): 処理するデータを選択して変更します。
分類: 分類モデルまたは回帰モデルをトレーニングおよびテストします。
クラスター: データからのクラスター化。
アソシエイト: データからアソシエーション ルールを学習します。
属性の選択: データ内で最も関連性の高い属性を選択します。
視覚化: データの 2 次元散布図を表示します。
エリア 2 はよく使用されるボタンです。データを開く、編集、保存、データ変換などの機能が含まれます。たとえば、ファイル「bank-data.csv」を「bank-data.arff」として保存できます。
領域 3 では、フィルターを選択してデータをフィルターしたり、データに何らかの変換を実行したりできます。データの前処理は主にこれを使用して実装されます。
領域 4 には、リレーション名、属性の数、インスタンスの数などのデータ セットの基本情報が表示されます。
データセットのすべてのプロパティはエリア 5 にリストされます。
一部の属性は、チェックを入れて「削除」することで削除できます。削除後、エリア 2 の「元に戻す」ボタンを使用して属性を取得することもできます。
エリア 5 の上のボタンの列は、簡単に確認するために使用されます。
領域 6 には、領域 5 で選択された現在の属性の概要が表示されます。
概要には、属性名 (Name)、属性タイプ (Type)、欠損値の数と割合 (Missing)、異なる値の数 (Distinct)、一意の値の数と割合 (Unique) が含まれます。
数値属性と名義属性では集計方法が異なります。図は、数値属性「収入」の概要を示しています。
数値属性には、最小値 (Minimum)、最大値 (Minimum)、平均 (Mean)、および標準偏差 (StdDev) が表示されます。
公称プロパティは、それぞれの個別の値の数を示します
エリア 7 は、エリア 5 で選択された属性のヒストグラムです。
データセットの最後の属性 (分類または回帰タスクのデフォルトのターゲット変数) がクラス ラベル変数 (例: 「pep」) の場合、ヒストグラム内の各四角形は、その変数に比例して異なる色のセグメントに分割されます。
セグメンテーションの基準を変更する場合は、領域 7 の上のドロップダウン ボックスで別の分類属性を選択するだけです。
ドロップダウン ボックスで [クラスなし] または数値属性を選択すると、白黒のヒストグラムに変わります。
エリア 8 ステータス バー、ログ ボタン、Weka バードを含むウィンドウの下部エリア。
ステータス バー (ステータス) には、何が行われているかを示す情報が表示されます。たとえば、エクスプローラーがファイルのロード中にビジー状態の場合、ステータス バーに通知が表示されます。
ステータス バーの任意の場所でマウスを右クリックすると、小さなメニューが表示されます。このメニューには 2 つのオプションがあります。
メモリ情報 -- WEKA で使用可能なメモリの量を表示します。
ガベージ コレクターを実行します -- Java ガベージ コレクターに、不要になったメモリ領域を強制的に検索させて解放し、新しいタスクにより多くのメモリを割り当てることができるようにします。
「ログ」ボタンを使用すると、weka の操作ログを表示できます。
右側の weka 鳥が動いている場合、WEKA が発掘作業を行っていることを意味します。
ナレッジフロー環境
WEKA データセット
WEKA によって処理されるデータセットは、.arff ファイルの 2 次元テーブルです。
テーブル内の行はインスタンスと呼ばれ、統計のサンプルまたはデータベースのレコードに相当します。
縦の行は属性と呼ばれ、統計における変数やデータベースのフィールドに相当します。
WEKA の観点では、このようなテーブルまたはデータ セットは、属性間の関係 (Relation) を表します。
上の図では、14 個のインスタンス、5 つの属性があり、関係名は「weather」です。
WEKA がデータを保存する形式は、ASCII テキスト ファイルである ARFF (Attribute-Relation File Format) ファイルです。
上記の 2 次元テーブルは、次の ARFF ファイルに格納されます。これは WEKA に付属する「weather.arff」ファイルで、WEKA インストール ディレクトリの「data」サブディレクトリにあります。
WEKA がデータを保存する形式は ARFF (Attribute-Relation File Format) ファイルです
これは ASCII テキスト ファイルです (ASCII ((American Standard Code for Information Interchange): American Standard Code for Information Interchange))
ファイル拡張子は .arff です
ワードパッドを使用して ARFF ファイルを開いて編集できます
ファイル内の「%」で始まる行はコメントであり、WEKA はこれらの行を無視します。
コメントを削除すると、ARFF ファイル全体が 2 つの部分に分割されます。
最初の部分は、関係の宣言や属性の宣言を含むヘッダー情報 (Head 情報) を提供します。
2 番目の部分はデータ情報 (Data information)、つまりデータセットで与えられるデータを与えます。 「@data」タグ以降はデータ情報です。
関係声明
関係名は、ARFF ファイルの最初の有効な行で、@relation <関係名> の形式で定義されます。
<関係名> は文字列です。この文字列にスペースが含まれる場合は、引用符 (英語の句読点の場合は一重引用符または二重引用符) で囲む必要があります。
プロパティの宣言
属性宣言は、「@attribute」で始まるステートメントのリストで表されます。
データセット内の各属性には、その属性名とデータ型 (datatype) を定義するための対応する「@attribute」ステートメントがあります。 @attribute <属性名> <データ型>
ここで、<プロパティ名> は文字で始まる文字列である必要があります。関係名の場合と同様、この文字列にスペースが含まれる場合は引用符で囲む必要があります。
属性宣言ステートメントの順序は、データ セクション内の属性の位置を示すため重要です。
たとえば、「湿度」は 3 番目に宣言された属性です。これは、データ部分のカンマで区切られた列のうち、列 2 (列 0 から始まる) 85 90 86 96 ... のデータが対応する「湿度」であることを意味します。価値。
次に、最後に宣言された属性はクラス属性と呼ばれ、分類タスクまたは回帰タスクのデフォルトのターゲット変数になります。
データの種類
数値 数値型
数値属性には整数または実数を指定できますが、WEKA はそれらをすべて実数として扱います。例: @attribute 温度実数
<nominal-specation> 呼び形式
公称属性は、中括弧で囲まれた可能なカテゴリ名の <nominal-specation> リストで構成されます: {<nominal-name1>、<nominal-name2>、<nominal-name3>, ...}。
データセット内のこの属性の値は、カテゴリの 1 つだけにすることができます。
たとえば、属性宣言: @attribute Outlook {sunny, overcast, Rainy} は、「outlook」属性に「晴れ」、「曇り」、「雨」の 3 つのカテゴリがあることを示します。データセット内の各インスタンスに対応する「outlook」値は、これら 3 つのいずれかである必要があります。
カテゴリ名にスペースが含まれている場合でも、引用符で囲む必要があります。
string 文字列型
文字列プロパティには任意のテキストを含めることができます。例: @attribute LCC 文字列
date [<date-format>] 日付と時刻の型
日付と時刻の属性は「日付」タイプで一律に表され、その形式は次のとおりです: @attribute <属性名> date [<date-format>]
<date-format> は、日付または時刻の形式を解析して表示する方法を指定する文字列です。デフォルトの文字列は、ISO-8601 で指定された日付と時刻の組み合わせ形式「yyyy-MM-dd HH:mm: ss」です。
データ情報部分の日付を表す文字列は、ステートメントで指定された形式要件に準拠する必要があります。例: @ATTRIBUTE timestamp DATE "yyyy-MM-dd HH:mm:ss" @DATA "2011-05-03 12: 59:55」
知らせ
他に「整数」と「実数」の 2 つの型が使用できますが、WEKA ではどちらも「数値」として扱います。
キーワード「integer」、「real」、「numeric」、「date」、および「string」では大文字と小文字が区別されますが、「relation」、「attribute」、および「data」では大文字と小文字が区別されません。
データ情報
データ情報は、「@data」タグが専用行を占め、残りが各インスタンスのデータとなります。
各インスタンスは 1 行を占め、インスタンスの属性値はカンマ「,」で区切られます。
属性の値が欠損値の場合は疑問符「?」で表され、この疑問符は省略できません。
スパースデータ
データ セットに多数の 0 値が含まれる場合があります。この場合、データをスパース形式で保存する方がスペースを節約できます。
スパース形式はデータ情報内のオブジェクトを表現するためのもので、ARFF ファイルの他の部分を変更する必要はありません。
データの例: @data 0、X、0、Y、「クラスA」 0、0、W、0、「クラスB」
スパース形式で表現すると @data {1 X、3 Y、4 "クラス A"} {2 W、4 "クラス B"}
注: ARFF データ セットの左端の属性列は列 0 です。したがって、1 X は、X が列 1 の属性値であることを意味します。
データの準備
データ収集
ARFF ファイル データを直接使用します。
CSV、C4.5、バイナリ、その他の形式のファイルからインポートします。
JDBC 経由で SQL データベースからデータを読み取ります。
URL(Uniform Resource Locator)からネットワークリソースデータを取得します。
データ形式変換
ARFF 形式は、WEKA がサポートする最適なファイル形式です。
データ マイニングに WEKA を使用する場合、多くの場合、最初に直面する問題は、データが ARFF 形式ではないことです。
WEKA は CSV ファイルのサポートも提供しており、この形式は他の多くのソフトウェア (Excel など) でサポートされています。
WEKA を使用して、CSV ファイル形式を ARFF ファイル形式に変換できます。
データリソース
WEKA 独自のデータセット C:\Program Files\Weka-3-6\data
ネットワークデータリソース http://archive.ics.uci.edu/ml/datasets.html
.XLS——> .CSV——> .ARFF
Excel の XLS ファイルでは、複数の 2 次元テーブルを異なるワークシート (シート) に配置でき、各ワークシートは異なる CSV ファイルとしてのみ保存できます。
XLS ファイルを開き、変換する必要があるワークシートに切り替え、CSV タイプとして保存し、「OK」、「はい」をクリックし、プロンプトを無視して操作を完了します。
CSV タイプのファイルを WEKA で開き、ARFF タイプのファイルとして保存します。
データの前処理前処理
WEKA のデータ前処理ツールはフィルターと呼ばれます
フィルターを定義して、さまざまな方法でデータを変換できます。
[フィルター] 列は、さまざまなフィルターに必要な設定を行うために使用されます。
[選択] ボタン: このボタンをクリックして、WEKA のフィルターを選択します。
フィルタを選択すると、その名前とオプションが「選択」ボタンの横のテキスト ボックスに表示されます。
データを読み込む
Explorer の前処理ページの領域 2 にある最初の 4 つのボタンは、データを WEKA にロードするために使用されます。
ファイルを開く.... ローカル ファイル システム上のデータ ファイルを参照できるダイアログ ボックスを開きます。
Open URL.... データを含む URL アドレスを要求します。
Open DB.... データベースからデータを読み取ります。
Generate.... いくつかの DataGenerator から人工データを生成します。
無駄な属性を削除する
通常、データ マイニング タスクでは、ID などの情報は役に立たないため、削除しても問題ありません。
領域5の属性「id」を確認し、「削除」をクリックします。 新しいデータセットを保存して再度開きます
データの離散化
一部のアルゴリズム (相関分析など) は名目属性のみを処理できます。この場合、数値属性を離散化する必要があります。
値が制限されている数値属性は、.arff ファイル内の属性データ型を変更することで離散化できます。
たとえば、特定のデータ セットの「children」属性には、0、1、2、3 の 4 つの数値しかありません。
ARFF ファイルを直接変更し、@attribute Children numeric を @attribute Children {0,1,2,3} に変更します。
「エクスプローラー」で「bank-data.arff」を再度開き、「children」属性を選択すると、領域6に表示される「Type」が「Nominal」に変わることを確認します。
多くの値を持つ数値属性の場合、WEKA の「Discretize」という名前のフィルターを使用して離散化を実行できます。
領域 2 で「選択」をクリックすると、「フィルター ツリー」が表示されます。「weka.filters.unsupervised.attribute.Discretize」をレベルごとに見つけてクリックします。
「選択」の横のテキストボックスには「Discretize -B 10 -M -0.1 -R first-last」と表示されるはずです。
このテキスト ボックスをクリックすると、離散化パラメータを変更するための新しいウィンドウがポップアップ表示されます。
分類分類する
WEKA は、分類と回帰の両方を [分類] タブに配置します。
どちらのデータ マイニング タスクにも、ターゲット属性 (カテゴリ属性、出力変数) があります。
WEKA インスタンスの一連の特性属性 (入力変数) に基づいて、ターゲット属性の分類予測を実行したいと考えています。
これを達成するには、各インスタンスの入力と出力がわかっているトレーニング データ セットが必要です。トレーニング セット内のインスタンスを観察することにより、予測分類/回帰モデルを構築できます。
このモデルを使用すると、新しい未知のインスタンスに対して分類予測を行うことができます。
モデルの品質の測定は、主にその予測の精度に依存します。
WEKA の典型的な分類アルゴリズム
ベイズ: ベイズ分類器
BayesNet: ベイジアン信念ネットワーク
NaïveBayes: ナイーブベイズネットワーク
xMultilayerPerceptron: 多層フィードフォワード人工ニューラル ネットワーク
SMO:サポートベクターマシン(逐次最適化学習法を使用)
Lazy: インスタンスベースの分類子
IB1: 1 最近傍分類器
IBk: k 最近傍分類器
分類アルゴリズムを選択する
メタ:組み合わせ方法
AdaBoostM1:AdaBoost M1方式
袋詰め:袋詰め方法
ルール: ルールベースの分類子
JRip: ダイレクト方式 - リッパーアルゴリズム
パート: 間接法 - J48 によって生成されたデシジョン ツリーからのルールの抽出
ツリー: 決定木分類器
Id3: ID3 決定木学習アルゴリズム (連続属性はサポートされていません)
J48: C4.5 デシジョン ツリー学習アルゴリズム (バージョン 8)
REPTree: エラーを削減する枝刈りを使用した決定木学習アルゴリズム
RandomTree: 決定木に基づく結合手法
モデルの評価方法を選択(4種類)
トレーニング セットの使用 トレーニング セットの評価の使用
付属のテストセット テストセットの評価を使用する
相互検証 相互検証
折り目を設定します
パーセンテージ分割保持方法。一定の割合のトレーニング例を評価に使用する
トレーニング インスタンスの割合を設定する
その他のテスト オプションを設定するには、[その他のオプション] ボタンをクリックします。
出力モデル。モデルを表示、視覚化できるように、トレーニング セット全体に基づいて分類モデルを出力します。このオプションはデフォルトで選択されています。
クラスごとの統計を出力します。各クラスの精度/再現率および真/偽統計を出力します。このオプションはデフォルトで選択されています。
出力評価尺度。出力エントロピー推定尺度。このオプションはデフォルトでは選択されていません。
混同行列の出力 分類器の予測結果の混同行列を出力します。このオプションはデフォルトで選択されています。
視覚化のために予測を保存します。分類子の予測を視覚的に表現できるように記録します。
予測を出力します。 テストデータの予測結果を出力します。相互検証中、インスタンスの番号はデータセット内での位置を表すものではないことに注意してください。
コスト重視の評価。誤差は値マトリックスに基づいて推定されます。 [設定…] ボタンは、値マトリックスを指定するために使用されます。
xval / % Split のランダム シード 評価目的でデータを分割する必要がある場合にデータをランダム化するために使用されるランダム シードを指定します。
テキスト結果の分析
[開始] ボタンをクリックすると、テキスト結果情報が分類子の出力ウィンドウに表示されます。
運行情報 運行情報
分類子モデル (フル トレーニング セット) すべてのトレーニング データを使用して構築された分類モデル
概要 トレーニング/テスト セットの予測効果の概要。
クラス別の詳細な精度 各クラスの予測精度の詳細な説明。
混同行列 混同行列。行列の行は実際のクラス、行列の列は予測クラス、行列要素は対応するテスト サンプルの数です。
主要な指標
正しく分類されたインスタンス 正しい分類率
誤って分類されたインスタンスの誤分類率
カッパ統計 カッパ統計
平均絶対誤差 平均絶対誤差
二乗平均平方根誤差 二乗平均平方根誤差
相対絶対誤差 相対絶対誤差
ルート相対二乗誤差相対平方根誤差
TP率(悪い/良い)正解率
FP Rate(悪い/良い) 偽陽性率
精度(悪い/良い)精度
リコール(悪い/良い)フィードバック率
F 測定値 (不良/良好) F 測定値
モデルの構築にかかる時間 モデルの構築にかかる時間
グラフ結果を出力する
メインウィンドウで表示します。メイン ウィンドウで出力を表示します。
別ウィンドウでご覧ください。別の新しいウィンドウを開いて結果を表示します。
結果バッファの保存 (結果バッファを保存)。出力結果をテキスト ファイルに保存するためのダイアログ ボックスが表示されます。
モデルをロードします (ダウンロード モード)。バイナリ ファイルから事前トレーニング モード オブジェクトをロードします。
モデルを保存します。スキーマ オブジェクトをバイナリ ファイル、つまり JAVA のシリアル オブジェクト形式で保存します。
現在のテスト セットでモデルを再評価します (現在のテスト セットを再評価します)。確立されたスキーマを通じて指定されたデータ セットをテストし、[提供されたテスト セット] オプションの下にある [設定..] ボタンを使用します。
分類子のエラーを視覚化します。視覚化ウィンドウがポップアップして、分類子の結果グラフが表示されます。このうち、正しく分類されたインスタンスは×印で表され、誤って分類されたインスタンスは小さな四角形で表されます。
実際のクラスと予測されたクラスの散布図。正しい分類の結果は×印で表され、誤った分類の結果はボックスで表されます。
ツリーを可視化します(ツリー可視化)。可能であれば、分類子モデルの構造を説明するグラフィカル インターフェイスが表示されます (これは一部の分類子でのみ利用可能です)。空白領域を右クリックしてメニューをポップアップし、パネル内でマウスをドラッグしてクリックすると、各ノードに対応するトレーニング インスタンスが表示されます。
マージンカーブを視覚化します。予測マージンを示す散布図を作成します。マージンは、真の値を予測する確率と、真の値以外を予測する最高確率との差として定義されます。たとえば、加速されたアルゴリズムは、トレーニング データ セットのマージンを増やすことにより、テスト データ セットでより適切に機能します。
予測された限界値を示す散布図を作成します。
4つの変数
マージン: 予測されたマージン値
Instance_number: 検査インスタンスのシリアル番号
現在: 現在の予測マージン値を持つインスタンスの数
累積: 予測限界値以下のインスタンスの数 (Instance_number と一致)
テスト インスタンス No. 8 をクリックすると、この点の限界値が 0.5 であることがわかり、限界値が 0.5 未満のインスタンスが 7 つあります。
閾値曲線の可視化(閾値曲線の可視化)。散布図は、予測におけるトレードオフの問題を説明するために作成されます。トレードオフは、クラス間のしきい値を変更することによって取得されます。たとえば、デフォルトのしきい値は 0.5 で、インスタンスが正であると予測される確率は 0.5 より大きくなければなりません。これは、インスタンスが正であると正確に予測されるのは 0.5 であるためです。また、ROC 曲線分析 (正の正解率と正のエラー率) やその他の曲線などのグラフを使用して、精度とフィードバック率のトレードオフを視覚化できます。
しきい値は、テスト インスタンスが現在のクラスに分類される最小確率です。しきい値を表すためにポイントの色が使用されます。
曲線上の各点は、しきい値のサイズを変更することによって生成されます。
ROC解析が可能
X 軸は誤検知率を選択します
Y軸選択トゥルーレート
ROC曲線
ROC 曲線 (受信者動作特性曲線) は、分類モデルの真陽性率と偽陽性率の間の妥協点を示すグラフ手法です。
サンプルがポジティブなカテゴリーとネガティブなカテゴリーに分類できると仮定して、ROC チャートのいくつかの概念的な定義を解釈してください。
真陽性 (TP)、モデルによって陽性と予測された陽性サンプル
偽陰性 (FN) は、モデルによって陰性と予測された陽性サンプルです。
偽陽性 (FP) は、モデルによって陽性であると予測される陰性サンプルです。
真陰性 (TN) モデルによって陰性と予測された陰性サンプル
真陽性率 (TPR) または感度 TPR = TP / (TP FN) 陽性サンプル予測結果の数/実際の陽性サンプル数
誤検知率 (FPR) FPR = FP / (FP TN) 陽性と予測された陰性サンプル結果の数/陰性サンプルの実際の数
(TPR=1,FPR=0) は理想的なモデルです
適切な分類モデルは、グラフの左上隅にできるだけ近くなければなりません。
コストカーブの可視化(コストカーブの可視化)。 Drummond と Holte が説明したように、予想されるコストを正確に表す散布図を作成します。
集まる
クラスター分析では、同じクラスター内のオブジェクトは類似し、異なるクラスター内のオブジェクトは異なるように、オブジェクトを各クラスターに割り当てます。
WEKA は、「エクスプローラー」インターフェースの「クラスター」でクラスター分析ツールを提供します。
主なアルゴリズムには次のものがあります。
SimpleKMeans — カテゴリ属性をサポートする K 平均法アルゴリズム
displayStdDevs: 数値属性の標準偏差とカテゴリ属性の数を表示するかどうか
distanceFunction: 比較インスタンスの距離関数を選択します
(デフォルト: weka.core.EuclideanDistance)
dontReplaceMissingValues: 欠損値を置換するためにmean/modeを使用しないかどうか。
maxIterations: 最大反復数
numClusters: クラスタリングのクラスタ数
prepareInstancesOrder: インスタンスの順序を事前に調整するかどうか
シード: ランダムなシード値を設定します。
DBScan — カテゴリ属性をサポートする密度ベースのアルゴリズム
EM — 混合モデルベースのクラスタリング アルゴリズム
FathestFirst — K 中心点アルゴリズム
OPTICS — 密度に基づく別のアルゴリズム
クモの巣 — 概念クラスタリング アルゴリズム
sIB — 情報理論に基づくクラスタリング アルゴリズム。カテゴリ属性はサポートされません。
XMeans — クラスターの数を自動的に決定できる拡張 K 平均法アルゴリズム。カテゴリ属性はサポートされません。
クラスターモードクラスターモード
トレーニング セットの使用 — トレーニング オブジェクトのクラスタリングとグループ化の結果をレポートします
トレーニング セットの使用 — トレーニング オブジェクトのクラスタリングとグループ化の結果をレポートします
提供されたテスト セット — トレーニング オブジェクトのクラスタリング結果と追加のテスト オブジェクトのグループ化結果をレポートします
パーセンテージ分割 — すべてのオブジェクトのクラスタリング結果、トレーニング オブジェクトのクラスタリング結果、テスト オブジェクトのグループ化結果をレポートします。
教師あり評価 (クラスからクラスターへの評価) - クラスター化およびグループ化の結果、クラス/クラスター混同行列、およびトレーニング オブジェクトの誤グループ化情報をレポートします。
クラスタリングアルゴリズムの実行
「開始」ボタンをクリックしてクラスタリングアルゴリズムを実行します。
クラスタリング結果を観察する
右側の「Clusterer の出力」によって得られるクラスタリングの結果を観察します。また、左下の「結果一覧」で今回生成された結果を右クリックし、「別ウィンドウで表示」すると、新しいウィンドウで結果を閲覧することができます。
注: 上記の実行情報は、教師ありクラスタリングが使用されている場合 (つまり、モデリング データ セットのクラス ラベルがわかっている場合) にのみ表示されます。
テキスト分析
SimpleKMeans
教師なしモード: 実行情報、KMeans 結果 (反復回数、SSE、クラスター中心)、検査オブジェクトのグループ化情報
監視モード: 実行情報、KMeans 結果 (反復回数、SSE、クラスター中心)、クラス/クラスター混同行列、誤ってグループ化されたオブジェクトの数と割合
クラスター中心: 数値属性の平均とカテゴリ属性の最頻値
DBScan
教師なしモード: 実行情報、DBScan 結果 (反復回数、各トレーニング オブジェクトのグループ化情報)、テスト オブジェクトのグループ化情報
監視モード: 実行情報、DBScan 結果 (反復回数、各トレーニング オブジェクトのグループ化情報)、クラス/クラスター混同行列、誤ってグループ化されたオブジェクトの数と割合
グラフ分析
視覚化用のストアクラスターをチェックする必要があります
クラスター割り当ての視覚化: クラス/クラスター混同行列を視覚化できる 2D 散布図
重要な出力情報
「クラスター内二乗誤差の合計」は、クラスタリングの品質を評価するための基準、つまり二乗誤差の合計である SSE です。 SSE 値が小さいほど、クラスタリング結果は良好になります。
「Cluster centroids:」の後に、各クラスターの中心の位置が続きます。数値属性の場合、クラスターの中心はその平均 (Mean) であり、カテゴリ属性の場合、クラスターの中心はその最頻値 (Mode) です。
「クラスター化されたインスタンス」は、各クラスター内のインスタンスの数と割合です。
視覚的なクラスタリング結果を観察する
左下の「結果リスト」に表示された結果を右クリックし、「クラスター割り当ての視覚化」をクリックします。
ポップアップ ウィンドウには、各インスタンスの散布図が表示されます。
上の 2 つのボックスは横座標と縦座標を選択します。
2 行目の「色」は、散布図の色付けの基準です。デフォルトでは、異なるクラスター「クラスター」に応じてインスタンスが異なる色でマークされます。
協会規則
WEKA 相関ルール学習により、属性グループ間の依存関係を検出できます。
例: 牛乳、バター パン、卵 (信頼度 0.9、支持度 2000)
相関ルール L->R の場合
サポート - 前件と後件の両方を観察する確率 サポート = Pr(L,R)
信頼度 - 前件が発生したときに後件が発生する確率。 信頼度 = Pr(L,R)/Pr(L)
相関ルールマイニングの主なアルゴリズム
WEKA データ マイニング プラットフォームでの相関ルール マイニングの主なアルゴリズムは次のとおりです。
アプリオリ - 最小サポートと最小サポートを満たすすべての関連付けルールを導出できます。
car: true に設定すると、グローバル関連付けルールの代わりにクラス関連付けルールがマイニングされます。
classindex: クラス属性のインデックス。 -1 に設定すると、最後の属性がクラス属性として扱われます。
デルタ: この値を反復減分単位として使用します。サポートは、最小サポートに達するか、量的要件を満たすルールが生成されるまで継続的に削減されます。
lowerBoundMinSupport: 最小サポートの下限。
metricType: メトリック タイプ。並べ替えルールのメトリック基準を設定します。それは、信頼性 (クラス関連付けルールは信頼性がなければマイニングできない)、リフト、レバレッジ、確信などです。
Weka では、ルールの関連度を測定するために、信頼度と同様のいくつかの尺度が設定されています。
リフト: 信頼度と結果としてのサポートの比率 リフト = Pr(L,R) / (Pr(L)Pr(R)) Lift=1 の場合、L と R は独立していることを意味します。数値が大きいほど (>1)、同じ買い物かご内に L と B が存在するのは偶然の現象ではなく、強い相関関係があることを示します。
レバレッジ、バランス: 前件と後件が統計的に独立しているという仮定の下で、期待値を超え、前件と後件の両方でカバーされるインスタンスの割合。 レバレッジ = Pr(L,R) - Pr(L)Pr(R) レバレッジ = 0 の場合、L と R は独立しています。レバレッジが大きいほど、L と R の関係は緊密になります。
確信、信頼性: 前件と後件の独立性を測定するためにも使用されます。 確信 = Pr(L)Pr(!R) / Pr(L,!R) (!R は R が発生しなかったことを意味します) リフトとの関係(R を逆算し、リフトの式に代入して逆数を求める)から、この値が大きいほど、L と R の関連性が高いことがわかります。
minMtric: メトリックの最小値。
numRules: 検出するルールの数。
OutputItemSets: true に設定すると、項目セットが結果に出力されます。
RemoveAllMissingCols: 欠損値のあるすべての列を削除します。
重要度レベル: 重要度レベル。有意性検定 (信頼性のみを目的とする)。
upperBoundMinSupport: 最小サポートの上限。この値から開始して、最小サポートが繰り返し減少します。
verbose: true に設定すると、アルゴリズムは冗長モードで実行されます。
PredictiveApriori - 信頼性とサポートを予測精度に組み合わせて 1 度の測定方法とし、予測精度でソートされた相関ルールを見つけます。
Terius - Apriori と同様に、結論に複数の条件が含まれるルールを検索しますが、違いは、これらの条件が「and」ではなく相互に「or」であることです。
これら 3 つのアルゴリズムはいずれも数値データをサポートしません。
実際、ほとんどの相関ルール アルゴリズムは数値型をサポートしていません。したがって、データを処理し、セグメントに分割し、ビンに離散化する必要があります。
アソシエーションルールマイニングアルゴリズム動作情報
属性の選択属性の選択
属性の選択では、データ セット内のすべての属性の可能なすべての組み合わせを検索して、最良の予測効果を持つ属性のセットを見つけます。
この目標を達成するには、属性評価と検索戦略を設定する必要があります。
エバリュエーターは、属性の良し悪しを表す一連の属性に値を割り当てる方法を決定します。
検索戦略によって、検索の実行方法が決まります。
オプション
「属性選択モード」列には 2 つのオプションがあります。
完全なトレーニング セットを使用します。トレーニング データ全体を使用して、一連の属性がどの程度優れているかを判断します。
相互検証。一連の属性の品質は、相互検証プロセスを通じて決定されます。 Fold と Seed はそれぞれ、データをスクランブルするときの相互検証のフォールド数とランダム シードを示します。
「分類」セクションと同様に、クラス属性を指定するためのドロップダウン ボックスがあります。
選択を実行
「開始」ボタンをクリックして、属性の選択プロセスを開始します。完了すると、結果が結果領域に出力され、結果リストにエントリが追加されます。
結果リストを右クリックすると、いくつかのオプションが表示されます。最初の 3 つ (メイン ウィンドウで表示、別ウィンドウで表示、結果バッファーの保存) は分類パネルと同じです。
削減されたデータセットを視覚化することもできます (削減されたデータの視覚化)
変換されたデータセットを視覚化する機能 (変換されたデータの視覚化)
縮小/変換されたデータは、[縮小データを保存...] または [変換されたデータを保存...] オプションを使用して保存できます。
データの可視化可視化
WEKA の視覚化ページでは、現在の関係を 2 次元の散布図で視覚的に参照できます。
散布図行列
[視覚化]パネルを選択すると、すべての属性に対して散布図マトリックスが表示され、選択したクラス属性に従って色付けされます。
ここでは、各 2D 散布図のサイズを変更したり、各点のサイズを変更したり、データをランダムにジッターしたり (隠れた点を表示したり) することができます。
また、色付けに使用される属性を変更したり、一連の属性のサブセットのみを選択して散布図マトリックスに配置したり、データのサブサンプルを取得したりすることもできます。
これらの変更は、「更新」ボタンをクリックした後にのみ有効になることに注意してください。
個々の 2D 散布図を選択する
散布図行列の要素をクリックすると、別のウィンドウがポップアップして、選択した散布図を視覚化します。
データ ポイントはウィンドウのメイン領域全体に分散されます。上には、点の座標軸を選択するための 2 つのドロップダウン ボックスがあります。左側は X 軸として使用されるプロパティ、右側は Y 軸として使用されるプロパティです。
X 軸セレクターの隣には、配色を選択するためのドロップダウン ボックスがあります。選択した属性に基づいてポイントに色を付けます。
点線の領域の下には、各色が表す値を説明する凡例があります。値が離散的な場合は、ポップアップ表示される新しいウィンドウで色をクリックすることで色を変更できます。
ドット領域の右側にいくつかの水平バーがあります。各バーは属性を表し、その中の点は属性値の分布を表します。これらの点は垂直方向にランダムに広がっており、点の密度がわかります。
これらのバーをクリックして、メイン グラフに使用される軸を変更します。左クリックして X 軸のプロパティを変更し、右クリックして Y 軸を変更します。水平バーの隣の「X」と「Y」は、現在の軸で使用される属性を表します (「B」は、X 軸と Y 軸の両方に使用されることを示します)。
プロパティ バーの上には、「Jitter」というラベルのカーソルがあります。散布図内の各点の位置、つまりジッターがランダムにシフトする可能性があります。右にドラッグするとジッターの振幅が大きくなり、ポイントの密度を識別するのに役立ちます。
このようなディザリングを使用しない場合、何万もの点が集まって 1 つの点のように見えます。
Y 軸選択ボタンの下には、データ ポイントの選択方法を決定するドロップダウン ボタンがあります。
データ ポイントは次の 4 つの方法で選択できます。
インスタンスを選択します。各データ ポイントをクリックすると、その属性値をリストするウィンドウが開きます。複数のポイントをクリックすると、さらに多くの属性値のセットもリストされます。
四角形: ドラッグして四角形を作成し、その中の点を選択します。
多角形: 自由形式の多角形を作成し、その点を選択します。左クリックしてポリゴンの頂点を追加し、右クリックして頂点の設定を完了します。始点と終点は自動的に接続されるため、多角形は常に閉じた状態になります。
ポリライン: ポリラインを作成して、その両側の点を分離できます。左クリックでポリライン頂点を追加し、右クリックで設定を終了します。ポリラインは常に開いています (閉じたポリゴンとは対照的に)。
長方形、多角形、またはポリラインを使用して散布図の領域を選択すると、その領域が灰色に変わります。
この時点で [送信] ボタンをクリックすると、灰色の領域の外にあるすべてのインスタンスが削除されます。
「クリア」ボタンをクリックすると、グラフィックスに影響を与えることなく、選択した領域がクリアされます。すべてのポイントがグラフから削除されると、「送信」ボタンが「リセット」ボタンに変わります。このボタンを使用すると、以前のすべての削除をキャンセルし、グラフをすべての点が存在する初期状態に戻すことができます。
最後に、「保存」ボタンをクリックして、現在表示されているインスタンスを新しい ARFF ファイルに保存します。
ナレッジ フロー インターフェイス KnowledgeFlow
KnowledgeFlow は、Weka にグラフィカルな「ナレッジ フロー」インターフェイスを提供します。
ユーザーはツールバーからコンポーネントを選択し、パネル上に配置し、特定の順序で接続して、データを処理および分析するための「知識フロー」を形成できます。
例: 「データソース」 -> 「フィルター」 -> 「分類」 -> 「評価」
Weka 分類器、フィルター、クラスタラー、ローダー、セーバー、およびその他の機能を KnowledgeFlow で使用できます。
ナレッジ フローのレイアウトは保存して再ロードできます。
KnowledgeFlow の利用可能なコンポーネント
KnowledgeFlow ウィンドウの上部には 8 つのタブがあります。
DataSource -- データ ローダー
データシンク -- データセーバー
フィルタ -- フィルタ
分類子 -- 分類子
クラスタラー -- クラスター
アソシエーション - アソシエータ
評価 - 評価者
TrainingSetMaker -- データ セットをトレーニング セットにする
TestSetMaker -- データ セットをテスト セットにする
CrossValidationFoldMaker -- データ セット、トレーニング セット、またはテスト セットを相互検証のために複数のフォールドに分割します。
TrainTestSplitMaker -- データ セット、トレーニング セット、またはテスト セットをトレーニング セットとテスト セットに分割します。
ClassAssigner - 列をデータセット、トレーニングセット、またはテストセットのクラス属性として使用します。
ClassValuePicker -- 特定のカテゴリを「ポジティブ」クラスとして選択します。これは、ROC フォーム曲線のデータを生成するときに役立ちます。
ClassifierPerformanceEvaluator -- トレーニングまたはテストされた分類子のパフォーマンスをバッチ モードで評価します。
IncrementalClassiāEvaluator -- インクリメンタル モードでトレーニングされた分類器のパフォーマンスを評価します
ClustererPerformanceEvaluator -- トレーニングまたはテストされたクラスタラーのパフォーマンスをバッチ モードで評価します。
PredictionAppender -- 分類子の予測値をテスト セットに追加します。離散分類問題の場合、予測されたクラス フラグまたは確率分布を追加できます。
視覚化—視覚化
DataVisualizer -- このコンポーネントは、データを別の大きな散布図で視覚化できるパネルをポップアップします。
ScatterPlotMatrix -- このコンポーネントは、いくつかの小さな散布図で構成されるマトリックスを含むパネルをポップアップ表示できます (それぞれの小さな散布図をクリックすると、大きな散布図がポップアップ表示されます)
AttributeSummarizer -- このコンポーネントは、ヒストグラムのマトリックスを含むパネルをポップアップ表示します。各ヒストグラムは、入力データ内の属性に対応します。
ModelPerformanceChart -- このコンポーネントは、しきい値曲線 (ROC 曲線など) を視覚化するパネルをポップアップできます。
TextViewer -- このコンポーネントはテキスト データを表示するために使用され、データ セットや統計を表示して分類パフォーマンスなどを測定するために使用できます。
GraphViewer - このコンポーネントは、ツリーベースのモデルを視覚化するパネルをポップアップできます。
StripChart - このコンポーネントは、ローリング データ散布図を表示するパネルをポップアップできます (増分分類器のパフォーマンスを即座に観察するために使用されます)。