Pynote

Python、機械学習、画像処理について

Python

グラフ理論 - グラフの定義と networkx の基本的な使い方について

概要 概要 キーワード [定義] グラフ [定義] 有向グラフ、無向グラフ [定義] 単純グラフ、多重グラフ networkx グラフ表示用の関数 networkx のグラフタイプ Graph DiGraph MultiGraph MultiDiGraph

Jupyter Notebook - インラインで画像や matplotlib の図などのメディアを表示させる方法

概要 Jupyter Notebook で画像や SVG などのメディアをインラインで表示する方法について紹介する。 概要 画像 ファイル numpy 配列 PIL Image SVG Pandas データフレーム matplotlib

graphviz - エッジの属性

概要 Graphviz の Python ラッパー pygraphviz でグラフを描画する際のエッジの属性を整理する。 概要 ノードの属性 import エッジの頭、尾 エッジの頭、尾のスタイル エッジの頭、尾の大きさ エッジの色 エッジをノードに接続する場所 エッジの太さ エッジ…

graphviz - ノードの属性

概要 Graphviz の Python ラッパー pygraphviz でグラフを描画する際のノードの属性を整理する。 概要 ノードの属性 import ノードの枠線 枠線の色 枠線の太さ 枠線のスタイル ノードの背景色 ノードのラベル ラベル名 ラベルの色、フォント、フォントサイズ…

Python - スクレイピング Beautiful Soup の DOM ツリーのアクセス方法 まとめ

概要 Beautiful Soup の DOM ツリーのアクセス方法について 概要 一覧表 ツリー構造の操作 親要素を参照する。 先祖要素を参照する。 子要素を参照する。 タグ名で子要素を参照する。 子要素をジェネレーターで参照する。 要素自体も子要素を取得するジェネ…

numpy - 上三角行列、下三角行列、対角行列の作成、対角成分の取得 (diag, tri, triu, tirl, etc)

概要 numpy の指定した行列から上三角行列、下三角行列、対角行列を作成する及び対角成分を取得する関数を整理する。 概要 一覧表 numpy.diag numpy.diagflat numpy.tri numpy.tril numpy.triu 参考

numpy - 規則的な配列を作成する。 (arange, linspace, meshgrid, etc)

概要 規則的な配列を作成する numpy の関数を整理する。 概要 一覧表 numpy.arange numpy.linspace numpy.logspace numpy.geomspace numpy.meshgrid numpy.mgrid 参考

numpy - 既存のリソースから作成する。 (copy, frombuffer, loadtxt, etc)

概要 リストや文字列、ファイルなど既存のリソースから配列を生成する numpy の関数を整理する。 概要 一覧表 numpy.array numpy.copy numpy.frombuffer numpy.fromfile numpy.fromfunction numpy.fromiter numpy.fromstring numpy.loadtxt 例: CSV ファイル…

numpy - 雛形から配列を作成する関数まとめ (empty, zeros, ones, etc)

概要 numpy の雛形から配列を生成する関数を整理する。 概要 一覧表 numpy.empty numpy.empty_like numpy.ones numpy.ones_like numpy.zeros numpy.zeros_like numpy.full numpy.full_like numpy.eye numpy.identity 参考

Jupyter Notebook - おすすめの nbextensions まとめ

概要 入力補完、コードの自動整形など Jupyter Notebook のおすすめの nbextensions を紹介する。 概要 関連記事 テーマやフォントの変更について Notebook のインストール方法について 試した環境 導入 次の2つをインストールする。 有効にする。 設定画面…

環境構築 - pipenv の使い方 まとめ

概要 Python 環境管理ツール pipenv の使い方をまとめた。 インストール方法については以下の記事を参照されたい。pynote.hatenablog.com 概要 試した環境 Python 環境を作成する。 新規に作成する 既存の Pipfile に基づき、作成する。 Python 環境にパッケ…

matplotlib - contourf() で塗りつぶした等高線を描画する。

概要 contourf() で塗りつぶした等高線を描画する際の各種設定について紹介する。contourf() は塗りつぶした等高線を作成するので、等高線のみ作成する場合は contour() 関数を使用する。pynote.hatenablog.com 概要 基本的な使い方 等高線の間隔を指定する…

Python - CSV の読み込み/書き込み まとめ

概要 CSV モジュールの使い方まとめ 概要 サンプルとして使用する CSV CSV を読み込み、リストで取得する。 1行ずつ読み込む。 一括で読み込む。 ヘッダーをスキップする。 リストを CSV に保存する。 1行ずつ書き込む。 一括で書き込む。 CSV を読み込み、O…

Python - itertools チートシート (頻出パターン)

概要 itertools モジュールを使用した頻出パターンを紹介する。 概要 itertools の import 等間隔の値を返すイテレータを作成する。 初項だけ指定する。 初項と公差を指定する。 配列を無限に繰り返すイテレータを作成する。 同じ値を繰り返すイテレータを作…

matplotlib - アニメーションするグラフを作成する

概要 matplotlib でアニメーションするグラフを作成する方法を紹介する。 概要 各フレームを予め作成する。 animation.ArtistAnimation サンプル 複数の Axes がある場合 オンラインでフレームを生成する。 animation.ArtistAnimation サンプル

matplotlib - 2変数関数を3Dで可視化する。

概要 matplotlib で2変数関数を可視化する方法を紹介する。 概要 ワイヤーフレームでグラフを作成する。 ポリゴンでグラフを作成する。 点でグラフを作成する。 等高線を作成する。 等高線を作成する。(同じ高さを塗りつぶす)

matplotlib - 散布図を作成する。

概要 matplotlib で散布図を作成する方法について紹介する。 概要

matplotlib - 円グラフを作成する。

概要 matplotlib で円グラフを作成する方法について紹介する。 概要 一部の項目を強調する。 最初の項目をどの角度から始めるかを設定する。 影を設定する。

Jupyter Notebook - jupyterthemes で見た目をカスタマイズする。

概要 Jupyter Notebook のテーマやフォントを簡単に変更できるライブラリ jupyterthemes の使い方を紹介する。 概要 インストール方法 テーマ一覧を表示する。 chesterish grade3 gruvboxd gruvboxl monokai oceans16 onedork solarizedd solarizedl テーマ…

matplotlib - 折れ線グラフを作成する。

概要 matplotlib で折れ線グラフを作成する方法について紹介する。 概要 1つの Axes に2つの折れ線グラフを作成する。 線の幅を設定する。 線のカスタマイズ 線の色を設定する。 ダッシュ線の空白の間隔を設定する。 点同士の結び方を設定する。 点のカスタ…

matplotlib - 棒グラフ / 積み上げ棒グラフを作成する。

概要 matplotlib で棒グラフを作成する方法について紹介する。 概要 棒グラフを作成する。 棒の幅を設定する。 積み上げ棒グラフを作成する。 棒グラフの位置を設定する。 棒グラフの色を設定する。 棒グラフの枠線の色を設定する。 棒グラフの枠線の幅を設…

matplotlib - カラーマップについて

概要 matplotlib のカラーマップについて紹介する。 概要 カラーマップ 使い方 Sequencial (連続) Diverging (発散) Cyclic (周期) Qualitative (定性) カラーマップ一覧を生成したコード

matplotlib - 日本語のテキストを使う方法について

概要 matplotlib で日本語のテキストを表示する方法について紹介する。 概要 日本語を使おうとすると文字化けする。 Ubuntu の場合 日本語フォントがあるかどうか確認する。 matplotlib の設定ファイルを編集する。 キャッシュを削除する。 Windows 日本語フ…

matplotlib - 図に複数のグラフを追加する方法

概要 matplotlib で図に複数のグラフを追加する方法について紹介する。 一つの Figure に複数の Axes を追加するには、plt.subplot()、plt.subplots()、Figure.add_subplot() または Figure.subplots() を使用する。 概要 plt.subplot() nrows, ncols, index…

matplotlib - matplotlib の使うために理解するべき基本要素

概要 matplotlib のアーキテクチャについて紹介する。 概要 3つのレイヤー backend レイヤー Artist レイヤー Script レイヤー 1. pyplot モジュールをインポートした際、ファイルからデフォルト設定を読み込む。 2. ヒストグラムを描画する。 3.タイトルを…

OpenCV - cv::Mat と numpy 配列の対応まとめ

概要 OpenCV を C++ で使う場合は画像は cv::Mat として扱うが、 Python で使う場合は numpy array として扱う。 numpy array と cv::Mat ではインタフェースが幾分異なるため、その対応をまとめた。 概要 プロパティ 行数、列数、チャンネル数 カラー画像か…

OpenCV - 行列の加減乗除及び Utility 関数

概要 OpenCV の配列の加減乗除及びその Utility 関数についてまとめた。 C++、Python 両方に対応。 概要 試した環境 加減乗除 加算 関数 コード 減算 関数 コード 要素ごとの乗算 関数 コード 要素ごとの除算 関数 コード 比較 関数 コード Utility 関数 abs…

scikit-learn - データセットを学習データとテストデータに分割する。

概要 データセットを学習データ及びテストデータに分割する scikit-learn の関数 train_test_split() について紹介する。 概要 train_test_split() 引数 返り値 基本的な使い方 分割する割合または数を指定する。 分割する配列を指定する。 サンプルコード …

Keras 実装で学ぶ YOLOv3 - その1 YOLOv3 ネットワークの概要とその実装

概要 YOLOv3 の仕組みについて、Keras 実装の keras-yolo3 をベースに説明する。 概要 ネットワークの構造 YOLOv3 ネットワーク Darknet-53 ネットワーク ネットワークの実装 必要なモジュールを import する。 utils.compose() について 1つの畳み込み層 Da…

Python - 関数の合成

概要 関数のリストを引数にとり、合成関数を作成する関数を作成する。例: 概要 試した環境 関数の合成 Python による実装 functools.reduce() function composition の実装例 iterable の要素を任意の引数をとる関数に対応させる。 参考