【機械学習入門】Pythonデータ操作の基礎 with Numpy ~Pythonの基礎~ | AIプログラミングハブ
本記事は広告が含まれる場合があります

【機械学習入門】Pythonデータ操作の基礎 with Numpy ~Pythonの基礎~

AI & 機械学習

Numpyとは何か

機械学習やデータサイエンスにおいて、「Numpy」は必須の知識です。まず、Numpyの重要性について説明します。

Numpyとは?

Numpy(ナムパイ、またはニューパイと読むこともあります)は、Pythonのオープンソースライブラリの一つで、大規模な数値計算を効率的に行うために設計されています。科学計算を中心に、多次元配列や行列計算を高速に実行できる機能を提供しており、Pythonでのデータ分析や機械学習、さらには深層学習において広く利用されています。

なぜNumpyが機械学習で重要なのか?

機械学習では、大量のデータを扱うことが一般的です。これらのデータは、画像、テキスト、音声など様々な形態をとり得ます。Numpyは、これらの大規模な数値データセットを効率的に扱うための強力なツールを提供します

  • 高速な数値計算: NumpyはPythonのリストよりもずっと高速に計算を行うことができます
  • 多次元配列サポート: Numpyは多次元配列を簡単に作成し、操作する機能を提供します。
  • 広範な数学関数: 線形代数、確率統計、フーリエ変換など、機械学習で必要とされる多くの数学的操作をサポートしています。

Pythonでの基本的なデータ操作

Numpyを扱う前に、Pythonでの基本的なデータ操作の方法を学びます。
実際にPythonコードを記述して、ターミナルから実行してください。
作業ファイルの名前が “test.py”である場合、

python test.py

で記述したコードを実行できます。

Pythonの環境構築については、コチラの記事を参照してください。

変数の使い方

変数はデータを格納するための「容器」です。Pythonでは、変数に値を代入することで、その値をプログラムのどこからでもアクセスできるようになります。

# 変数の定義と代入
name = "Alice"
age = 30

# 変数の値を使用
print(f"Name: {name}, Age: {age}")

## 結果: Name: Alice, Age: 30

リストの使い方

リストは、順序付けられた項目の集合を格納するためのデータ構造です。リスト内の各項目は、インデックスを通じてアクセスすることができます。

# リストの作成
fruits = ["apple", "banana", "cherry"]

# リストから要素を取得
print(fruits[0])  # apple

# リストに要素を追加
fruits.append("orange")

# リストの内容をループで表示
for fruit in fruits:
    print(fruit)

##結果
# apple
# apple
# banana
# cherry
# orange

辞書の使い方

辞書は、キーと値のペアでデータを格納するデータ構造です。各キーはユニークであり、対応する値にアクセスする(取り出す)ために使用されます。

# 辞書の作成
person = {"name": "Alice", "age": 30}

# 辞書から値を取得
print(person["name"])  # Alice

# 辞書に新しいキーと値のペアを追加
person["city"] = "Tokyo"

# 辞書の内容をループで表示
for key, value in person.items():
    print(f"{key}: {value}")

## 結果
# Alice
# name: Alice
# age: 30
# city: Tokyo

基本的な制御構造

if文

条件に基づいて、コードを実行するために使用します。

age = 20

if age >= 18:
    print("You are an adult.")
else:
    print("You are a minor.")

# 結果: "You are an adult."

forループ

リストや辞書など、繰り返し可能なオブジェクトの各要素に対してコードブロックを実行します。
※無条件で要素の全てをループ

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

## 結果
# apple
# banana
# cherry

whileループ

条件が真(True)である間、コードブロックを繰り返し実行します。
※条件付きでループを実行

count = 0

while count < 5:
    print(count)
    count += 1

## 結果
# 0
# 1
# 2
# 3
# 4

Numpyの基礎

Numpyのインストール

・Anacondaで仮想環境を作成する場合

conda create --name myenv python=3.8 numpy

・すでに構築済みの仮想環境へNumpyを追加する場合
 ターミナルで作成した仮想環境が有効になっている状態で下記コードを実施

conda install numpy

Numpyを使用する場合、慣例として “np”という名前でインポートします。
例えば、PythonリストからNumpy配列を作成する場合、下記のように記述します。

import numpy as np  # NumPyライブラリをnpという名前でインポート

# NumPy配列の作成
my_array = np.array([1, 4, 3, 5, 2])

# 配列の内容を表示
print(my_array)

## 結果: [1 4 3 5 2]

Pythonの標準リストは非常に柔軟なデータ構造となっている為、配列内に’整数’や’文字列’など複数のデータ型を格納することができます。一方でNumpy配列は、配列内の全ての要素が全て同じデータ型(整数など)である必要があります
一見Numpy配列の方が柔軟性に欠けているように思えますが、データ型を統一することでメモリの消費量を抑え高速処理が可能となります。また、線形代数や行列演算など多くの関数が組み込まれている為、複雑な数値計算も簡単に実装することができます

まとめ

この投稿では、Pythonの基本的なデータ操作から、数値計算に不可欠なNumpyライブラリの導入まで、プログラミング初心者が知っておくべき重要な概念を解説しました。PythonとNumpyを効果的に使用することで、データ分析や機械学習の基礎を固めることができます。

Numpyとは何か

Numpyは、Pythonで数値計算を効率的に行うためのライブラリであり、特に多次元配列を扱う際の高速な演算を可能にします。科学計算やデータ分析の分野で広く使用されています。

なぜNumpyが機械学習で重要なのか

Numpyは、データをベクトルや行列として効率的に扱うことができるため、機械学習における多くのアルゴリズムの実装に不可欠です。計算速度の向上とメモリ使用の最適化により、大規模なデータセットの処理が可能になります。

コメント