Python で疎行列を作成するにはどうすればよいですか?

PHPz
リリース: 2023-09-05 15:49:06
転載
1243 人が閲覧しました

Python で疎行列を作成するにはどうすればよいですか?

この記事では、疎行列とは何か、および Python で疎行列を作成する方法を説明します。

疎行列とは何ですか?

疎行列とは、ほとんどの要素が 0 である行列です。つまり、マトリックスには少数の場所のデータのみが含まれています。スパース行列によって消費されるメモリのほとんどはゼロで構成されます。

######例えば -###### リーリー

2 次元配列を使用して疎行列を表すと、行列内のゼロはほとんどの場合役に立たないため、大量のメモリが無駄になります。したがって、ゼロを非ゼロ要素とともに保存する代わりに、非ゼロ要素のみを保存します。これには、トリプルを使用して非ゼロ要素 (行、列、値) を格納することが含まれます。 自然言語処理 (NLP) とデータ エンコーディングはどちらもスパース行列を多用します。ほとんどの行列要素が 0 の場合、すべての行列要素を保存するためのストレージ コストが高くなります。

これは、データ ポイントが数個しかなく、ストレージ領域のほとんどが冗長ゼロで占められているためです。

疎行列の利点

単純行列の代わりに疎行列を使用することの 2 つの主な利点を次に示します -

ストレージ
    - ゼロ以外の要素がゼロよりも少ないため、これらの要素を個別に保存するために使用できるメモリが少なくなります。
  • 計算時間
  • - ゼロ以外の要素のみを走査するデータ構造を論理的に作成することで、計算時間を節約できます。
  • Python で疎行列を作成するにはどうすればよいですか?

    Python の
  • ScPy は、さまざまなデータ構造を使用して疎行列を作成し、密行列を疎行列に変換するためのツールを提供します。

Python では、次の関数を使用して疎行列を作成できます -

csr_matrix() 関数
    - 圧縮された
  • スパース行

    形式でスパース行列を作成します、

    csc_matrix() 関数
  • - 圧縮された
  • sparse column

    形式でスパース行列を作成します。 、、 方法 1. csr_matrix() 関数を使用して疎行列を作成する

  • 圧縮されたスパース

形式でスパース行列を作成します。

###文法### リーリー

パラメータ

shape

- マトリックスの形状です。

  • dtype - 行列のデータ型です。

  • アルゴリズム (ステップ) 以下は、必要なタスクを実行するために従う必要があるアルゴリズム/手順です -

import キーワードを使用して、エイリアス (np) を持つ

numpy

モジュールをインポートします。

  • import キーワードを使用して、scipy モジュールから csr_matrix 関数をインポートします。

  • csr_matrix()

    関数を使用して int データ型 (

    row
  • 形式) の 3 * 3 スパース行列を作成し、
  • toarray を使用して配列に変換します()## # 関数。

    生成されたスパース行列を出力します。 ###例###

    次のプログラムは csr_matrix() 関数を使用して疎行列 (3x3) を返します -
  • リーリー ###出力###
  • 上記のプログラムを実行すると、次の出力が生成されます -

    リーリー

    方法 2. Numpy 配列を指定して csr_matrix() 関数を使用してスパース行列を作成する
アルゴリズム (ステップ)

以下は、必要なタスクを実行するために従う必要があるアルゴリズム/手順です -

import キーワードを使用して、エイリアス (np) を持つ

numpy

モジュールをインポートします。

import キーワードを使用して、scipy モジュールから

csr_matrix

関数をインポートします。
  • numpy.array()

    関数を使用して配列を作成します (ndarray を返します。ndarray は、指定された要件を満たす配列オブジェクトです)
  • ###例### リーリー ###出力### 上記のプログラムを実行すると、次の出力が生成されます - リーリー

    方法 3. csc_matrix() 関数を使用してスパース行列を作成する
  • 圧縮されたスパース列形式でスパース行列を作成します。

    ###文法### リーリー パラメータ

shape

- マトリックスの形状です。

dtype

- 行列のデータ型です。

###アルゴリズム###

以下は、必要なタスクを実行するために従う必要があるアルゴリズム/手順です -

  • import キーワードを使用して、エイリアス (np) を持つ

    numpy モジュールをインポートします。

  • import キーワードを使用して、scipy モジュールから

    csc_matrix 関数をインポートします。

csc_matrix()

関数を使用して、int データ型 (

形式) の 3 * 3 スパース行列を作成し、
    toarray を使用して配列に変換します()## # 関数。
  • 生成されたスパース行列を出力します。

  • ###例###

    次のプログラムは、csc_matrix() 関数を使用して、列形式の疎行列 (3x3) を返します - リーリー ###出力### 上記のプログラムを実行すると、次の出力が生成されます -

    リーリー
  • 方法 4. Numpy 配列を指定して csc_matrix() 関数を使用してスパース行列を作成する
  • ###例###

    次のプログラムは、csc_matrix() 関数を使用して、整数列形式の疎行列 (3x3) を返します - リーリー ###出力### 上記のプログラムを実行すると、次の出力が生成されます - リーリー ###結論は### このチュートリアルでは、Python でスパース行列を生成する 4 つの異なる方法を学びました。また、numpy 配列から疎行列を生成する方法も学びました。

以上がPython で疎行列を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート