Wu Sinan の機械学習への旅: Numpy で多次元配列を作成する

Wu Sinan の機械学習への旅: Numpy で多次元配列を作成する

[[188605]]

Numpy は Python 科学計算のコアライブラリの 1 つであり、主に多次元配列を強力にサポートします。

多次元配列とは何ですか?

コア オブジェクトは、同じデータ型を持つ同じタイプの多次元配列 (通常は数値を含むテーブルとして単純に理解されます) です。

コンセプト:

1. 軸: 配列の次元は総称して軸と呼ばれます。

2. ランク: 軸の数をランクと呼びます。

たとえば、1次元配列 [1,2,1] は、軸が 1 つ (次元が 1 つ) しかないため、ランク 1 の配列です。次の図は、ランク 2 (2 次元) 配列を示しています。最初の軸 (次元) の長さは、赤い線の枠で示されているように 2 です。2 番目の軸 (次元) の長さは、青い線の枠で示されているように 3 です。これは、データ構造で言われていることと少し似ています。配列の要素自体も配列型になることができます。

Numpy の多次元配列: ndarray

Numpy の配列クラス numpy.array は、主に Python の配列クラス array.array と区別するために、一般的に ndarray と呼ばれます。以下の記事では、特に指定がない限り、array および ndarray は numpy.array を指します。

ndarray (numpy.array) の主な属性:

  • ndim: 配列の軸(次元)の数
  • 形状: Python タプル型。各数値は各軸 (次元) の配列の長さを表します。
  • サイズ: 多次元配列の要素の総数(シェイプタプル内のすべての値の積に等しい)
  • dtype: 多次元配列内の要素の型。多次元配列のすべての要素は同じ型である

ここで短い間奏を紹介します。

Anaconda は Python ベースのデータ サイエンス プラットフォームであり、データ分析によく使用されるライブラリとツールをパッケージ化したソフトウェアに相当します。それは私たちが学習を始めるのに良い助けになります。ダウンロードアドレス: https://www.continuum.io/anaconda-overview。

インストール後、「IPython」、「Jupyter QtConsole」、または「Spyder」を開きます。これらは本質的には IPython インタラクティブ環境のラッパーです。

演習: ndarray を作成します。

パラメータが Python リストまたはタプル (シーケンス型) である numpy.array() メソッドを直接使用します。以下のコードでは、「In」は入力したコード、「Out」は前の行のコードの出力です。すべてのコード行に出力があるわけではありません。

コード:

次の図は、上記のコードを「Spyder」で実行した場合の効果を示しています。

上図の変数エクスプローラーで ndarray をダブルクリックすると、2 次元配列が表示されます。

ndarrayを作成する他の方法

1. ゼロ、1、空のメソッド

  • numpy.ゼロ
  • numpy.ones
  • numpy.空

NumPy は、ndarray をすばやく作成するための別の方法を提供します。これは、配列の内容が不明な状況に特に適しており、配列の拡大によるオーバーヘッドも回避します。

2. アレンジ法

arange は均等に分散された ndarray (numpy.array) を返すことができます。開始(オプション)、終了(必須)、間隔(オプション)を個別に設定できます。次の例は、この方法の使用方法を明確に示しています。

3. 再形成法

名前が示すように、このメソッドは既存の ndarray を別の形状 (形状、つまり配列の各軸の長さ) の多次元配列に変換します。新しい配列には元のデータがすべて含まれます。

注意: 新しい図形は同じサイズを維持する必要があります。簡単に言うと、最初の図形のパラメータ 3x4=12 は、2 番目の図形のパラメータ 2x6=12 と常に一致している必要があります。

4. ランダム法

新しい配列の内容をランダムな数字で埋めます。 Numpy でデータ配列を生成する方法は複数あり、混乱を招く可能性があります。現在、乱数生成には大きく分けて2つの種類があります。1つは「一様分布」(確率論における「0-1連続分布」など)に従って生成されるもので、もう1つは「正規分布」に従って生成されるものです。

numpy では、random、ranf、sample というメソッドがあります。実際、これらはすべて次のようになります。

numpy.random.random_sample メソッドのエイリアス。どちらも「均一分布」に基づいて乱数を生成します。次のコードはこれを検証します。

最も一般的に使用されるものを以下に詳しく紹介します。

numpy.ランダム.ランダム

API: http://t.im/1b9sw

これは、半開区間 [0.0, 1.0) 内のランダムな浮動小数点数を返し、1 つのパラメータのみを取ります。

size : int または int タプル。返される配列の形状としても使用されます。入力が (2,3,5) の場合、最初に 2x3x5=30 個の乱数が抽出され、次に (2,3,5) の形状を持つ多次元配列が戻り値として形成されます。引数が指定されていない場合は、乱数が直接返されます。

演習: 区間[12, 30)に6x3配列を生成する。

コード:

さて、これでNumPyの第一回目の講義は終了です。この後も実際に使ってみて紹介する内容がまだまだたくさんあります。

[この記事は51CTOコラムニスト「ウー・シナン」によるオリジナル記事です。転載の許可を得るには51CTOを通じて著者に連絡してください]

この著者の他の記事を読むにはここをクリックしてください

<<:  人工知能技術情報の無料共有

>>:  AI業界におけるGoogleの独占に警戒せよ。中国勢力が世界規模のゲームに参入

ブログ    
ブログ    

推薦する

将来展望: 2024 年の人工知能

生成型人工知能 (GenAI) ツールから AIOps の採用まで、AI の未来がどうなるかをご紹介...

NeurIPS 2023 入学結果が発表され、合格率は 26.1% でした

NeurIPS は世界で最も権威のある AI 学術会議の 1 つです。正式名称は Neural I...

戦争における顔認識:フランスの諜報機関がチェチェン兵士の身元を発掘、ウクライナは捕虜の身元確認に利用

ビッグデータダイジェスト制作ロシアとウクライナの紛争が始まると、カディロフ・ジュニアはチェチェンの首...

今年、データ サイエンティストはどのようなアルゴリズムを使用しましたか?

「データが王様」と言われる今日の世界では、データサイエンスに興味を持つ人が増えています。データ サ...

復旦NLPチームが大規模モデルエージェントの80ページのレビューを公開、AIエージェントの現状と将来を概観

最近、復旦大学の自然言語処理チーム (FudanNLP) が LLM ベースのエージェントに関するレ...

...

ディープラーニングを活用してネットワークセキュリティを実現する方法

[[240276]]著者: ゲストブログ翻訳:張玲校正:丁南雅この論文では、ディープラーニングとそれ...

人工知能は感情を認識するために使われている

感情認識技術は、人工知能を使用して人の表情から感情を検出する、数十億ドル規模の新興産業です。しかし、...

行列乗算の3Dインサイト: これがAIの思考法

行列乗算の実行プロセスを 3D で表示できれば、行列乗算を学ぶのはそれほど難しくないでしょう。今日で...

スマート農業は収穫アシスタントとなる新しいアップグレードロボットを歓迎する

「農業」は国家の基盤です。基盤がしっかりしていれば国家は平和になります。農業は国民経済の建設と発展を...

無効にします!小売業における顔認識が修正されます!一枚の写真で顔認識を可能に

画像ソース: unsplash 30秒で読める1.複数の人工知能技術サービスプロバイダーがIT Ti...

機械学習のテストセットをスケールアップする方法

[[387235]]テスト セットのヒル クライミングは、トレーニング セットに影響を与えたり、予測...

...

Facebookはライブ動画でユーザーを見えなくする匿名化システムを開発した

最近、ノルウェー科学技術大学の「DeepPrivacy: 顔の匿名化のための生成的敵対的ネットワーク...

映画業界におけるAI:将来はアカデミー賞の背後にAIが立つ

[[258542]]最近終了した2019年のアカデミー賞授賞式では、最優秀脚本賞や最優秀視覚効果賞を...