1. 序章

私たちの「潜在的な」顧客は誰ですか? 今後の製品の特徴は何ですか? これらは、すべての企業が最近知りたい質問です。

そのような答えを見つけるために、企業は急いでデータを取得して積み上げます。 また、ニールソンのタグライン:「人々が見たり、聞いたり、購入したりするもの」は、あらゆる種類のデータを収集します。ただし、これは真実かもしれませんが、データが多いからといって知識が増えるわけではありません。

見てわかるように、構造化されたものとされていないものの両方のタイプのデータがデジタルユニバースを埋め尽くしています。 この状況では、広範なデータからの知識の抽出が意思決定において重要な役割を果たす可能性があります。 データマイニングツールを使用して傾向を予測し、この意図を念頭に置いて知識主導の意思決定を可能にすることができます。

このチュートリアルでは、WEKAデータマイニングツールについて学習します。

2. データマイニング

簡単に言えば、データマイニングは、結果を予測するために大規模なデータセット内のパターンと相関関係を見つけるプロセスです。 これらの結果は、データの傾向、共通のテーマ、またはパターンを明らかにします。

たとえば、スーパーストアのオーナーは、一緒に購入されることが多いアイテムを知りたがっていました。 顧客の取引を数週間分析した後、彼は次のことを発見しました。

  • 顧客がミルクを購入すると、パンの売り上げは驚くほど最大75%増加しました
  • 60%の人がミルクとパンと一緒に卵を買うのが好きでした

すべてを考慮して、オーナーは、収益を増やすために適切なタイミングと場所で十分な商品を店舗に用意するようにします。

データマイニングは、企業が切望されている知識を発見するのに役立ちます。

2.1. データマイニングプロセス

データマイニングプロセスは、いくつかのステップで構成されています。 まず、データの取得、クリーニング、統合が行われます。 次に、さまざまなデータセットがさまざまなソースから取得されるため、不整合を取り除き、すべてを整列させる必要があります。

次に、適切な機能の選択が行われます。 一般に、データには多くの無関係な属性とディメンションがあります。 したがって、適切な属性の選択と次元削減は、高品質の結果を生み出すために不可欠です。

次に、下線の問題に適したアルゴリズムを選択します。 問題のタイプごとに特定のアルゴリズムがあります。 したがって、それが分類の問題なのかクラスタリングの問題なのかを正確に知ることが不可欠です。

最後に、データマイニングアルゴリズムによって生成されたパターンとルールは、役立つ知識のために解釈されます。

3. WEKA

WEKAは、データマイニングタスク用の機械学習アルゴリズムを含むワークベンチです。 全体として、これらのタスクは、データの準備からデータの視覚化、分類からクラスタリングまでさまざまです。 WEKAの強みは分類にありますが、相関ルールの回帰、クラスタリング、およびマイニングを効率的に実行することもできます。

これは、GNU GeneralPublicLicenseの下で利用可能なオープンソースのツールキットです。

3.1. 要件とインストール

WEKAはWindows、MAC OS、Linuxにインストールできます。 最新の安定版リリースの最小要件はJava8以降です。

WEKAのメインのグラフィカルユーザーインターフェイスを見てみましょう。

上記のように、アプリケーションカテゴリには5つのオプションがあります。 Explorer は、ほとんどのデータマイニングタスクが実行される中央パネルです。 このパネルについては、次のセクションでさらに詳しく説明します。

Explorer に加えて、このツールはExperimenterパネルを提供します。 この下で、私たちは実験を実行するだけでなく、それらを設計することもできます。

一方ではExplorerExperimenterがあり、他方ではWEKAはKnowledgeFlowパネルを提供しています。コンポーネントをドラッグアンドドロップし、それらを接続してナレッジフローを形成し、データと結果を分析するためのインターフェイスを提供します。

Simple CLI パネルは、WEKAを実行するためのコマンドライン機能を提供します。 たとえば、iris.arffデータでZeroR分類子を起動するには、コマンドラインから実行します。

java weka.classifiers.trees.ZeroR -t iris.arff

3.2. データセット

データセットは、データマイニングタスクの重要な側面です。 このチュートリアルでは、Irisデータセットを使用していくつかのアルゴリズムのトレーニングとテストを行います。 多変量データセットには、3つの種と4つの特徴が含まれています。

3.3. データの種類と形式

WEKAが提供するデータ型は、数値(整数と実数)、文字列、日付、およびリレーショナルのみです。 デフォルトでは、WEKAはARFF形式をサポートしています。 ARFF(属性関係ファイル形式)は、一連の属性を共有するインスタンスのリストを記述するASCII形式です。

すべてのARFFファイルには、ヘッダーとデータの2つのセクションがあります。 ヘッダーセクションは属性タイプで構成され、データセクションにはその属性のデータのコンマ区切りリストが含まれます。 ヘッダー(@attribute)とデータ(@data)の宣言では、大文字と小文字が区別されないことに注意してください

天気予報データセットの形式を見てみましょう。

@attribute outlook {sunny,overcast,rainy}
@attribute tempreture {hot,mild,cool}
@attribute humidity {high,normal}
@attribute windy {TRUE,FALSE}
@attribute play {yes,no}

@data
sunny,hot,high,FALSE,no
sunny,hot,high,TRUE,yes
overcast,hot,high,TRUE,yes
overcast,cool,normal,TRUE,yes
rainy,cool,normal,FALSE,no
rainy,cool,normal,TRUE,no

ARFF以外に、このツールは CSV JSON 、XRFFなどのさまざまなファイル形式もサポートしています。

3.4. データの読み込み

WEKAを使用すると、次の4種類のソースからデータをロードできます。

  • ローカルファイルシステム
  • パブリックURL
  • データベースへのクエリ
  • モデルを実行するための人工データを生成する

さまざまなソースからデータがロードされたら、次のステップはデータを前処理することです。 この目的のために、適切なフィルター手法を選択できます。 すべてのメソッドは、名前をクリックして構成可能なデフォルト設定を備えています。

sepallength など、属性の1つにエラー/外れ値がある場合は、[属性]セクションから削除/更新できます。

3.5. 機械学習アルゴリズムの種類

WEKAは、機械学習タスクに十分な量のアルゴリズムを提供します。 すべてのアルゴリズムは、そのコアの性質により、いくつかのグループに分けられます。 これらは、WEKAの「エクスプローラー」タブで利用できます。

それらのグループとそのコアの性質を見てみましょう。

  • ベイズ NaiveBayesのようなベイズの定理に基づくアルゴリズムで構成されています
  • 関数線形回帰を含む関数を推定するアルゴリズムで構成されます
  • lazy KStar、LWLと同様のレイジー学習を使用するすべてのアルゴリズムをカバーします
  • meta スタッキング、バギングなどの作業に複数のアルゴリズムを使用または統合するアルゴリズムで構成されます
  • misc –特定のカテゴリのいずれにも当てはまらないその他のアルゴリズム
  • rules OneR ZeroRなどのルールを使用するアルゴリズムを組み合わせます
  • trees J48 RandomForestなどの決定木を使用するアルゴリズムが含まれています

各アルゴリズムには、batchSize、debugなどの構成パラメーターがあります。 一部の構成パラメーターはすべてのアルゴリズムに共通ですが、一部は固有です。 これらの構成は、使用するアルゴリズムを選択すると編集可能になります。

4. WEKAの特徴

4.1. 前処理

データの前処理は、データマイニングの重要なタスクです。 ほとんどのデータは生であるため、空の値または重複する値が含まれている、ガベージ値、外れ値、余分な列がある、または異なる命名規則がある可能性があります。 これらすべてが結果を悪化させます。

データをよりクリーンで、より良く、包括的にするために、WEKAはフィルターカテゴリーの下に包括的なオプションのセットを用意しています。 ここで、ツールは監視されたタイプと監視されていないタイプの両方の操作を提供します。

前処理のいくつかの操作のリストは次のとおりです。

  • ReplaceMissingWithUserConstant –空またはnull値の問題を修正します
  • ReservoirSample –サンプルデータのランダムなサブセットを生成します
  • NominalToBinary –データを名目からバイナリに変換します
  • RemovePercentage –指定された割合のデータを削除します
  • RemoveRange –指定された範囲のデータを削除します

4.2. 分類する

分類は、機械学習の重要な機能の1つであり、クラスまたはカテゴリをアイテムに割り当てます。 分類の典型的な例は、脳腫瘍を「悪性」または「良性」として宣言するか、「スパム」または「not_spam」クラスに電子メールを割り当てることです

目的の分類器を選択した後、トレーニングセットのテストオプションを選択します。 オプションのいくつかは次のとおりです。

  • トレーニングセットを使用–分類器は同じトレーニングセットでテストされます
  • 提供されたテストセット–個別のテストセットに基づいて分類子を評価します
  • クロス検証フォールド–提供されたフォールドの数を使用したクロス検証に基づく分類子の評価
  • パーセンテージ分割–分類子は特定のパーセンテージのデータで判断されます

これら以外にも、 % s plit の順序の保持、出力ソースコードなどのテストオプションを使用することもできます。

ZeroR分類子をデータセットに適用してみましょう。 まず、この分類器は0-R分類器の実装であり、バッチ処理を可能にします。 実行が成功すると、ツールは要約を生成し、さまざまなパラメーターに基づいてアルゴリズムの有効性を示します。

ツールは結果をに保存します結果リスト (青で強調表示)結果がグラフにどのようにプロットされるかを見てみましょう。

4.3. 集まる

クラスタリングでは、データセットはいくつかの類似点に基づいて異なるグループ/クラスターに配置されます。 この場合、同じクラスター内のアイテムは同一ですが、他のクラスターとは異なります。 クラスタリングの例には、同様の行動をとる顧客の特定、均一な土地利用に従って地域の編成が含まれますが、これらに限定されません。

EMアルゴリズムを適用すると、ツールはクラスターと属性の平均と標準偏差を表示します。

結果がどのようにプロットされるかを見てみましょう。

WEKAが提供する最も人気のあるクラスタリングアルゴリズムは、 SimpleKMeans HierarchicalClusterer、、およびEMです。

4.4. 仲間、同僚

アソシエーションルールは、データセットのアイテム間のすべてのアソシエーションと相関を強調表示します。 つまり、データ項目間の関係の確率を表すのはif-thenステートメントです。 関連付けの典型的な例は、ミルクとパンの販売の間の関係を指します。

このカテゴリでは、ツールは Apriori FilteredAssociator、FPGrowth相関ルールマイニングのアルゴリズムを提供します。

4.5. 属性を選択

すべてのデータセットには多くの属性が含まれていますが、それらのいくつかはそれほど価値がない場合があります。 したがって、不要なものを削除し、関連する詳細を保持することは、優れたモデルを構築するために非常に重要です。

BestFirst GreedyStepwise Ranker など、多くの属性評価者と検索方法があります。

4.6. 視覚化する

[視覚化]タブでは、モデルによって識別された傾向とエラーを示すために、さまざまなプロットマトリックスとグラフを使用できます。

アイリスデータセットの値の一部は次のとおりです。

5. 結論

小売市場からヘルスケア、スポーツ、監視に至るまで、データ分析はいたるところにあります。 間違いなく、生データから知識を抽出するには多大な労力が必要です。 この抽出された知識は、インテリジェントな意思決定の開発、正確なキャンペーンの実行、収益の増加、顧客関係の改善、リスクの軽減、およびオンライン詐欺の検出に役立ちます。

この記事では、データマイニングタスク用の包括的なツールキットであるWEKAについて学びました。 このツールには、データクリーニングから機能の選択、各カテゴリでのさまざまなアルゴリズムの適用まで、多くのオプションが用意されています。 最終的な分析では、WEKAを使用すると、大規模なデータセットを操作し、さまざまな出力を比較して結果を得ることがはるかに簡単になります。