ホームページ バックエンド開発 Python チュートリアル PythonのAprioriアルゴリズムの詳細な説明

PythonのAprioriアルゴリズムの詳細な説明

Jun 10, 2023 am 08:03 AM
データマイニング Pythonプログラミング apriori算法

Apriori アルゴリズムは、データ マイニングの分野における相関ルール マイニングの一般的な方法であり、ビジネス インテリジェンス、マーケティング、その他の分野で広く使用されています。 Python は一般的なプログラミング言語として、Apriori アルゴリズムを実装するための複数のサードパーティ ライブラリも提供しています。この記事では、Python での Apriori アルゴリズムの原理、実装、および応用について詳しく紹介します。

1. Apriori アルゴリズムの原理

Apriori アルゴリズムの原理を紹介する前に、まず相関ルール マイニングにおける次の 2 つの概念、頻出項目セットとサポートについて学びましょう。

頻繁に使用されるアイテムセット: 特定のデータ セット内で同時に出現することが多いアイテムのセットを指します。

サポート: すべてのトランザクションに表示されるアイテム セットの頻度はサポートと呼ばれます。

たとえば、スーパーマーケットのトランザクション データでは、全トランザクションにおける {牛乳、ケーキ} の組み合わせの頻度は 10% です。したがって、この組み合わせの支持率は 10% になります。

Apriori アルゴリズムは、頻繁に使用されるアイテム セットの概念に基づいており、頻繁に使用されるアイテム セットをレイヤーごとに検索することでアイテム間の相関関係を調査します。アイデアは次のとおりです。

  1. 単一アイテム セット (つまり、個別に購入したアイテム) から始めて、頻繁に使用されるアイテム セットをボトムアップでマイニングします。
  2. アイテム セットのサポートが事前に設定された最小サポートしきい値を満たしている場合にのみ、そのアイテム セットは頻繁に使用されるアイテム セットと見なされます。
  3. 頻繁に使用される項目セットに基づいて、強い関連性ルール セットを構築します。強い相関ルールとは、相関ルール内の条件項目と結果項目の間のつながりが非常に近いルールを指します。

具体的には、Apriori アルゴリズムの実装プロセスは次のとおりです。

  1. すべての項目をカウントし、単一の項目セットのサポート数を取得します。
  2. サポートが最小サポートしきい値を満たす単一アイテム セットごとに、それらは頻繁に使用されるアイテム セットと見なされます。
  3. 頻繁に使用される項目セットごとに、その空でないサブセットをすべて生成し、生成プロセス中にカウントして各サブセットのサポートを計算します。
  4. 現在生成されているサブセットのサポートが最小サポートしきい値を満たしている場合、サブセットは頻繁に使用されるアイテム セットとして保存されます。
  5. 頻繁に使用される項目セットに基づいて、強い関連性ルール セットを構築します。頻度の高い項目セットの場合、サブセットを条件として選択し、残りの部分を結果として選択し、その信頼度を計算できます。信頼度が最小信頼しきい値を満たしている場合、相関ルールは強力なルールとして保存されます。
  6. 新しい頻繁な項目セットや強力なルールがなくなるまで、手順 3 ~ 5 を繰り返し実行します。

Apriori アルゴリズムの時間計算量は、空ではない各サブセットのサポート数を必要とするため、非常に高いことに注意してください。計算量を減らすために、ハッシュ テーブルの使用や候補の削減など、いくつかの最適化手法を使用できます。

2. Python での Apriori アルゴリズムの実装

Python には、mlxtend、Orange など、Apriori アルゴリズムを実装できる複数のサードパーティ ライブラリがあります。以下では、例として mlxtend を使用して、Apriori アルゴリズムの実装手順を紹介します。

  1. mlxtend ライブラリのインストール

pip を使用して mlxtend をインストールします:

pip install mlxtend
ログイン後にコピー
  1. 必要なライブラリをインポートします

インポートnumpy ライブラリと mlxtend ライブラリ:

import numpy as np
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori, association_rules
ログイン後にコピー
  1. データの準備

4 つのトランザクション レコードを含む単純なトランザクション データ セットを生成します。各レコードはいくつかの項目で構成されます。構成:

dataset = [['牛奶', '面包', '啤酒', '尿布'],
           ['牛奶', '面包', '啤酒', '尿布'],
           ['面包', '啤酒', '尿布', '饼干'],
           ['牛奶', '尿布', '啤酒', '饼干']]
ログイン後にコピー
  1. データをブール テーブルに変換する

TransactionEncoder を使用してデータをブール テーブルに変換します。この手順では、トランザクション データ セットから頻繁に使用される項目セットを抽出します。

te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
ログイン後にコピー
  1. 頻繁なアイテム セットのマイニング

Apriori 関数を使用して、ブール テーブルから頻繁なアイテム セットをマイニングします。

frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
ログイン後にコピー

min_support パラメーターを設定することで、頻度を制御できます。アイテムセットの最小サポート。上記のコードでは、最小サポートは 0.5 に設定されています。

  1. 強い関連性ルール セットを構築する

頻繁に使用されるアイテム セットに基づいて、association_rules 関数を使用して強い関連性ルール セットを構築します:

rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.7)
ログイン後にコピー

Byメトリック パラメーターを設定すると、相関ルールの良さを評価するためにどのメトリックを使用するかを制御できます。上記のコードでは、信頼度が評価指標として使用され、最小信頼しきい値は 0.7 に設定されています。

3. Apriori アルゴリズムの適用シナリオ

Apriori アルゴリズムは、マーケティング、レコメンデーション システム、ソーシャル ネットワーク分析など、多くの分野に適用できます。以下では、製品推奨における Apriori アルゴリズムの適用を示すために、例として電子商取引プラットフォームを取り上げます。

電子商取引プラットフォームは通常、ユーザーの取引記録を記録し、これらの記録を使用してユーザーが興味を持つ可能性のある商品を推奨します。 Apriori アルゴリズムを通じて、高頻度の製品の組み合わせをマイニングできます。たとえば、製品 A、B、C を購入する人は、製品 D を購入する可能性が高くなります。これらの関連付けルールに基づいて、電子商取引プラットフォームは、ユーザーの取引率とショッピング体験を向上させるために、対応する製品をユーザーに推奨できます。

4. 結論

Apriori アルゴリズムは一般的な相関ルール マイニング手法であり、このアルゴリズムを実装できる Python のサードパーティ ライブラリが複数あります。これらのライブラリを通じて、頻繁に使用される項目セットと関連付けルールを簡単にマイニングして、データ分析とビジネス上の意思決定をサポートできます。

以上がPythonのAprioriアルゴリズムの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python で脆弱性スキャナーを開発する方法 Python で脆弱性スキャナーを開発する方法 Jul 01, 2023 am 08:10 AM

Python による脆弱性スキャナーの開発方法の概要 インターネット セキュリティの脅威が増大する今日の環境において、脆弱性スキャナーはネットワーク セキュリティを保護するための重要なツールとなっています。 Python は、簡潔で読みやすく強力な人気のあるプログラミング言語であり、さまざまな実用的なツールの開発に適しています。この記事では、Python を使用してネットワークにリアルタイムの保護を提供する脆弱性スキャナーを開発する方法を紹介します。ステップ 1: スキャン対象を決定する 脆弱性スキャナーを開発する前に、スキャンする対象を決定する必要があります。これは、独自のネットワークでも、テスト権限のあるネットワークでもかまいません

Linux でのスクリプト作成と実行に Python を使用する方法 Linux でのスクリプト作成と実行に Python を使用する方法 Oct 05, 2023 am 11:45 AM

Python を使用して Linux でスクリプトを作成および実行する方法 Linux オペレーティング システムでは、Python を使用してさまざまなスクリプトを作成および実行できます。 Python は、スクリプト作成をより簡単かつ効率的にするための豊富なライブラリとツールを提供する、簡潔で強力なプログラミング言語です。以下では、Linux で Python を使用してスクリプトを作成および実行する基本的な手順を紹介し、Python をよりよく理解して使用するのに役立つ具体的なコード例をいくつか示します。 Pythonをインストールする

Python での sqrt() 関数の使用法 Python での sqrt() 関数の使用法 Feb 21, 2024 pm 03:09 PM

Python での sqrt() 関数の使用法とコード例 1. sqrt() 関数の関数と紹介 Python プログラミングにおいて、sqrt() 関数は math モジュール内の関数であり、その機能は次の平方根を計算することです。数。平方根は、数値をそれ自体で乗算すると数値の 2 乗に等しいことを意味します。つまり、x*x=n の場合、x は n の平方根になります。プログラム内で sqrt() 関数を使用すると、平方根を計算できます。 2. Python で sqrt() 関数を使用する方法、sq

Python プログラミングを使用して、Baidu 画像認識インターフェイスのドッキングを実現し、画像認識機能を実現する方法を説明します。 Python プログラミングを使用して、Baidu 画像認識インターフェイスのドッキングを実現し、画像認識機能を実現する方法を説明します。 Aug 25, 2023 pm 03:10 PM

Python プログラミングを使用して、Baidu の画像認識インターフェイスのドッキングを実装し、画像認識機能を実現する方法を説明します。コンピューター ビジョンの分野において、画像認識技術は非常に重要な技術です。 Baidu は、画像の分類、ラベル付け、顔認識、その他の機能を簡単に実装できる強力な画像認識インターフェイスを提供します。この記事では、Python プログラミング言語を使用して、Baidu 画像認識インターフェイスに接続して画像認識機能を実現する方法を説明します。まず、Baidu Developer Platform でアプリケーションを作成し、

Python プログラミングの実践: Baidu Map API を使用して静的地図関数を生成する方法 Python プログラミングの実践: Baidu Map API を使用して静的地図関数を生成する方法 Jul 30, 2023 pm 09:05 PM

Python プログラミング演習: Baidu Map API を使用して静的地図関数を生成する方法 はじめに: 現代社会において、地図は人々の生活に欠かせないものとなっています。マップを操作する場合、多くの場合、Web ページ、モバイル アプリ、またはレポートに表示するために、特定のエリアの静的なマップを取得する必要があります。この記事では、Python プログラミング言語と Baidu Map API を使用して静的地図を生成する方法を紹介し、関連するコード例を示します。 1. 準備作業 Baidu Map API を使用して静的地図を生成する機能を実現するために、

Baidu Map API ドキュメントの座標変換関数を分析するための Python プログラミング Baidu Map API ドキュメントの座標変換関数を分析するための Python プログラミング Aug 01, 2023 am 08:57 AM

Baidu Map API ドキュメントの座標変換関数を分析するための Python プログラミング はじめに: インターネットの急速な発展に伴い、地図測位機能は現代人の生活に不可欠な部分になりました。中国で最も人気のある地図サービスの 1 つである Baidu Maps は、開発者が使用できる一連の API を提供しています。この記事では、Python プログラミングを使用して、Baidu Map API ドキュメントの座標変換関数を分析し、対応するコード例を示します。 1. はじめに 開発では、座標変換の問題が発生することがあります。百度地図AP

Python で PCA 主成分分析アルゴリズムを記述するにはどうすればよいですか? Python で PCA 主成分分析アルゴリズムを記述するにはどうすればよいですか? Sep 20, 2023 am 10:34 AM

Python で PCA 主成分分析アルゴリズムを記述するにはどうすればよいですか? PCA (主成分分析) は、データの次元を削減してデータをよりよく理解して分析するために使用される、一般的に使用される教師なし学習アルゴリズムです。この記事では、Python を使用して PCA 主成分分析アルゴリズムを作成する方法を学び、具体的なコード例を示します。 PCA の手順は次のとおりです。 データを標準化します。データの各特徴の平均をゼロにし、分散を同じ範囲に調整して、

Pythonで画像処理と認識を行う方法 Pythonで画像処理と認識を行う方法 Oct 20, 2023 pm 12:10 PM

Python で画像処理と認識を行う方法 概要: 最新のテクノロジーにより、画像処理と認識が多くの分野で重要なツールになりました。 Python は、豊富な画像処理および認識ライブラリを備えた、習得と使用が簡単なプログラミング言語です。この記事では、Python を使用して画像処理と認識を行う方法と、具体的なコード例を紹介します。画像処理: 画像処理は、画質を向上させたり、画像から情報を抽出したりするために、画像にさまざまな操作や変換を実行するプロセスです。 Python の PIL ライブラリ (Pi

See all articles