Pynote

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

pandas - melt() でデータフレームを横持ちから縦持ちに変換する。

概要 pandas の melt() でデータフレームを横持ちから縦持ちに変換する方法を紹介する。 概要 横持ち、縦持ち melt() - 横持ちから縦持ちに変換する。(unpivot) 例 データフレームを用意する。 横持ちから縦持ちに変換する。(unpivot)

画像認識 - face_recognition ライブラリで顔認識を試す。

概要 face_recognition ライブラリを使って、顔認識を行う方法を紹介する。pynote.hatenablog.com Github ドキュメント 概要 顔認識 顔の特徴

Python - データの各サンプル同士の距離行列を作成する方法について

概要 データの各サンプル同士の距離行列を作成する方法について紹介する。 概要 キーワード 距離行列 データを作成する。 距離行列を作成する。 距離行列を可視化する。 距離行列からわかること 入力及び距離関数について 各サンプルから距離が最も近いサン…

OpenCV - 画像にモザイクをかける方法について

概要 OpenCV を使用して、モザイク処理を行う方法を紹介する。 概要 モザイク処理をする方法 画像の一部にモザイクをかける。 顔検出して、モザイク処理を行う。

画像処理 - face_recognition ライブラリで顔検出を試す。

概要 顔認識が行える face_recognition ライブラリを紹介する。 dlib という機械学習ライブラリをラップする形で構築されており、最先端の顔認識技術を簡単に利用することができる。 Github ドキュメント 概要 インストール 顔検出 基本的な使い方 検出に CN…

グラフ理論 - グラフ理論の用語まとめ

概要 グラフ理論における用語を整理する。pynote.hatenablog.com 概要 部分グラフ、全域部分グラフ、誘導部分グラフ 完全グラフ 空グラフ 2部グラフ、n 部グラフ 道、閉路、車輪 補グラフ 歩道 連結グラフ 距離、離心数、半径、直径、中心 森、木 向きつけ …

グラフ理論 - ダイクストラ法について

概要 グラフ理論で重み付きグラフの最短経路問題を解くアルゴリズムであるダイクストラ法について紹介する。 概要 最短経路問題 ダイクストラ法 ダイクストラ法の仕組み アルゴリズム アルゴリズムの動作例 実装例 networkx networkx の関数を使う場合 参考

networkx - 点の位置を指定して、グラフを見やすく表示する方法について

概要 networkx で作成したグラフを graphviz で描画する場合に、点の位置を指定することで見やすいグラフを作成する方法について紹介する。 概要 自動で点をレイアウトする。 明示的に点の位置を指定する。 サンプル 完全グラフ 2部グラフ 回路 空グラフ 2次…

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

概要 Beautiful Soup の DOM ツリーの編集方法について 概要 要素名を変更する。 属性を変更、追加、削除する。 値を変更する。 子を追加する。 要素を挿入する。 子孫ノードを削除する。 指定した要素及びその子孫を DOM ツリーから取り除いて、返す。(pop …

スクレイピング - Beautiful Soup の find(), find_all() を使った要素の検索方法 まとめ

概要 Beautiful Soup の DOM ツリーの検索方法について 概要 関連記事 ツリー構造の操作 find_all()、find() 基本的な使い方 指定した名前の要素を取得する。 指定した属性を持つ要素を取得する。 指定した値を持つ要素を取得する。 返り値の要素数の上限を…

OpenCV - 画像処理のパラメータを決めるには、ipywidgets が便利

概要 OpenCV で各種画像処理を行うためには決めなければならないパラメータがいくつか出てくる。 Notebook 上でスライダーやプルダウンメニューを使えるようにする GUI ウィジェットである ipywidgets を組み合わせることで、画像処理の結果を確認しながら、…

Python - JupyterLab の便利な拡張を紹介

概要 JupyterLab を使う上で入れておきたい便利な拡張機能を紹介する。 概要 関連記事 nodejs をインストールする。 コードの自動整形 数式レンダリングに MathJax ではなく、Katex を使う。 定義されている変数の中身を確認する。 Notebook 上に GUI ウィジ…

Python - JupyterLab でコードの自動整形を行う方法について

概要 JupyterLab にコードの自動整形を行う拡張「jupyterlab_code_formatter」を導入する方法について紹介する。JupyterLab の紹介及び使い方については以下の記事を参照されたい。pynote.hatenablog.com 概要 nodejs をインストールする。 拡張をインストー…

Python - Jupyter Notebook の後継、Jupyter Lab のインストールと使い方

概要 Jupyter Notebook の後継、Jupyter Lab の使ってみたら便利だったので紹介する。 概要 Jupyter Lab とは テーマの公式対応 Visual Studio Code ライクな設定画面 拡張機能の公式対応 タブ機能 分割表示機能 インストール 起動及びブラウザからのアクセ…

matplotlib / seaborn - グラフの種類、使い方まとめ

概要 matplotlib、seaborn の記事まとめ matplotlib の基礎 その他 matplotlib - Axes オブジェクトのカスタマイズ - Pynote matplotlib - Figure オブジェクトのカスタマイズ - Pynote matplotlib - matplotlib の使うために理解するべき基本要素 - Pynote …

networkx - 近傍を取得する方法について

概要 networkx で近傍を取得する方法について紹介する。 概要 近傍を取得する関数、属性一覧 neighbors: 近傍を取得する。 G.adj: 近傍を取得する。 __getitem__: ある点の近傍を取得する。 adjacency: 近傍を取得する。 all_neighbors: 近傍を取得する。 co…

グラフ理論 - networkx で点、辺を参照する方法について

概要 networkx で点、辺を参照する方法について紹介する。 概要 点を参照する関数、属性一覧 nodes: 点の一覧を取得する。 nodes(data=True) nodes(data=False) nodes(data=) nodes(default=) 添字のアクセス __iter__: 点の一覧を返すイテレータ get_node_a…

グラフ理論 - networkx で点、辺を追加、削除する方法

概要 networkx で点、辺を追加、削除する方法について紹介する。 概要 グラフを Jupyter Notebook で描画するヘルパー関数 networkx での点、辺の扱い 点 辺 属性 networkx のグラフの種類 Graph DiGraph MultiGraph MultiDiGraph コンストラクタ 空グラフを…

matplotlib - stem で離散データ列をプロットする。

概要 matplotlib の stem で離散データ列をプロットする方法を紹介する。 概要 基本的な使い方 起点となる位置を設定する。 線のスタイルを設定する。 マーカーのスタイルを設定する。

matplotlib - 極座標系でプロットする方法について

概要 matplotlib で極座標系でプロットする方法について紹介する。 概要 極座標系に設定する。 偏角の目盛りを設定する。 偏角の目盛りのラベルを設定する。 動径の目盛りを設定する。 偏角の起点となる角度を設定する。

matplotlib - pcolormesh で連続的に変化する色で配列を可視化する。

概要 pcolormesh で連続的に変化する色で配列を可視化する方法を紹介する。 概要 関連 基本的な使い方 透過度を設定する。 シェーディングを有効にするかどうかを設定する。 枠線を設定する。 カラーマップを設定する。 疎行列の可視化 基本的な使い方 指定…

matplotlib - errorbar で誤差棒付きの折れ線グラフを作成する方法について

概要 matplotlib の errorbar で誤差棒付きの折れ線グラフを作成する方法について紹介する。 概要 関連 y 軸方向の誤差棒 yerr=err yerr=[err1, err2, ..., errn] yerr=[[err_min1, err_max1], [err_min2, err_max2], ..., [err_minn, err_maxn]] x 軸方向の…

Python - グラフの作成などに使える色を自動で作る方法

概要 Python でグラフの作成などに使える色を自動で作る方法を紹介する。 概要 ランダムに色を生成する。 連続的に変化する色を作成する。

matplotlib - clabel で等高線にラベルを付ける方法について

概要 matplotlib の clabel で等高線にラベルを付ける方法について紹介する。 概要 関連記事 関連 基本的な使い方 ラベルを表示する等高線を選択する。 ラベルの色を指定する。 ラベルと等高線間の余白を設定する。

matplotlib - stackplot で積み上げ折れ線グラフを作成する方法について

概要 matplotlib で積み上げ折れ線グラフを作成する方法について紹介する。 概要 関連 基本的な使い方 積み上げる際の起点を設定する。 色を設定する。

matplotlib - imshow で画像や配列を表示する方法について

概要 matplotlib の imshow で画像や配列を表示する方法について紹介する。 概要 関連 画像を表示する。 グレースケール画像 RGB 画像 RGBA 画像 配列を表示する。 カラーマップを設定する。 アスペクト比を設定する。 補完方式を設定する。 透過度を設定す…

matplotlib - 2次元ヒストグラムを作成する方法について

概要 matplotlib で2次元ヒストグラムを作成する方法について紹介する。 概要 関連 基本的な使い方 ビンを指定する。 bins=ビンの数 bins=[xbins, ybins] bins=[v0, v1, ..., vn] bins=[[x0, x1, ..., xn], [y0, y1, ..., yn]] ビンを作成する範囲を指定する…

matplotlib - eventplot でサンプル点を線で可視化する。

概要 matplotlib の eventplot でサンプル点を線で可視化する方法を紹介する。 概要 関連 基本的な使い方 形状 (N,) の配列 形状 (M, N) の配列 線の太さを設定する。 線の始点と長さを設定する。 線の色を指定する。 線のスタイルを設定する。 線の方向を設…

matplotlib - GridSpec を使い、複雑なレイアウトの図を作成する。

概要 matplotlib の GridSpec を使い、複雑なレイアウトの図を作成する方法を紹介する。 概要 Jupyter Notebook を使っている場合 関連 基本的な流れ GridSpec オブジェクトの indexing を使う。 pyplot.subplot2grid() を使う。 余白を調整する。 グリッド…

matplotlib - x 軸、y 軸のラベル、タイトルを設定する方法について

概要 x 軸、y 軸のラベル、タイトルを設定する方法について 概要 x 軸、y 軸のラベル、タイトルを設定する。