機械学習におけるk-近傍法とその実装例
機械学習における分類タスクで頻繁に利用されるアルゴリズムの一つに、k-近傍法(k-Nearest Neighbors, kNN)があります。
k-近傍法の仕組み
k-近傍法は、ラベル付きの訓練データセットが与えられた上で、ラベルのない新しいデータ点を分類する手法です。新しいデータ点の各特徴量を、訓練データセット内のデータ点の対応する特徴量と比較し、最も類似した(距離が最も近い ...
7月10日 23:32 投稿
PyOpenCL を用いた GPU 計算処理の構築と実行
導入
PyOpenCL は Python で OpenCL 環境を直接制御するためのライブラリです。ドキュメントの整備状況に限界があるため、実際の動作を理解するにはコードを実装しながら学習することが一般的です。ここでは、GPU 上でのベクトル演算を行うための基本的なプロトタイプと、その処理の流れについて解説します。
実装サンプル
以下のスクリプトは、CPU メモリ上の NumPy 配列 ...
7月8日 20:33 投稿
Pythonで数列と関数の極限を視覚的に理解する
数列の極限:離散データの収束性を分析
数列とは、自然数 \( n = 1, 2, 3, \ldots \) を用いて定義される順序付きデータ列であり、一般項 \( a_n = f(n) \) によって第 \( n \) 項が表現される。たとえば、次の数列を考える:
\( a_n = \frac{n}{n+1} \)
\( b_n = \left(-1\right)^{n+1} \)
\( c_n = \frac{1}{2^n} \)
これらの数列はそれぞれ異なる振る舞いを示す。特に ...
6月25日 20:30 投稿
Pythonで「TypeError: only integer scalar arrays can be converted to a scalar index」エラーを解決する方法
はじめに
Pythonプログラミングを行う際、様々なTypeErrorに遭遇することがあります。その中でも比較的頻繁に発生するのが「TypeError: only integer scalar arrays can be converted to a scalar index」というエラーです。このエラーは、リストや類似のデータ構造に非整数をインデックスとして使用しようとした際に発生します。本記事では、このエラーの原因を深く掘り ...
6月24日 22:35 投稿
NumPy配列作成と型変換の基本ガイド
配列の作成
np.array()を用いた配列作成
import numpy as np
# Pythonリストから1次元配列を生成
sample_list = np.array([5, 10, 15, 20])
print(sample_list)
# 2次元配列の作成(ネストしたリスト利用)
matrix_data = np.array([[7, 14], [21, 28]])
print(matrix_data)
# 型が異なる要素の自動変換
mixed_elements = np.array([10, 3.14, "text"])
print(mixed_ele ...
6月20日 17:02 投稿
Numpyの練習:配列の生成と操作
練習1: 一維配列と二維配列の生成と形状の確認
import numpy as np
arr1 = np.array([1,2,'a','hello',[1,2,3],{'one':100,'two':200}])
arr2 = np.array([list(range(6)), list('abcdef'), [True, False, True, False, True, True]])
print(arr1, '\narr1のshape:', arr1.shape, '\n-------')
print(arr2, '\narr2のshape:', arr2.shape, '\n-------')
練習2: 起点が5、 ...
6月18日 20:03 投稿
NumPyの高度なインデックス操作
NumPyはPythonで科学計算を行うための主要なライブラリであり、強力なN次元配列オブジェクトとその配列を操作するための多くの関数を提供します。NumPyでは、基本的なインデックスやスライシングに加えて、より柔軟かつ効率的にデータにアクセス・操作できる高度なインデックス機能が搭載されています。この記事では、整数によるインデックス、論理値によるインデックス、 ...
6月12日 20:19 投稿
NumPyにおける行列・ベクトル演算の核心:dot関数の実践的解説
NumPyは、Pythonによる数値計算の基盤となるライブラリであり、配列同士の線形代数演算を効率的に実行するための豊富な機能を提供します。その中でもnp.dotは、ベクトルの内積や行列の乗算といった基本かつ重要な操作を統一的なインターフェースで実現する関数です。この関数の挙動は入力配列の形状に応じて自動的に切り替わり、柔軟性と一貫性を兼ね備えています。
基本 ...
6月10日 22:26 投稿
Python機械学習入門
NumPyの基礎
NumPyは、科学計算やデータ解析に最適な高速な配列演算を提供するライブラリです。
配列の基本属性
ndim:配列の次元数
shape:各次元のサイズを示すタプル
size:配列の要素数
dtype:配列のデータ型
itemsize:各要素のバイト数
配列の作成と操作
import numpy as np
# 1次元配列の作成
data = np.array([10, 20, 30, 40, 50])
print("1次元配列:", dat ...
6月4日 21:18 投稿
Pythonでパスカルの三角形を生成する - 直角・正三角形の出力
パスカルの三角形(楊輝三角形)は、各行の両端が1で、内部の各要素が右上と左上の要素の和となる三角形の配列です。Pythonでこれを生成し、さまざまな形式(直角、正三角形、中央揃え)で出力する方法を紹介します。
基本アルゴリズム(2次元リスト版)
まず、n行n列の2次元リストを0で初期化します。行と列のインデックスを0から始めると、次の関係が成り立ちます。
...
6月2日 17:13 投稿