2019-01-01から1年間の記事一覧

Python 「LightGBM」による回帰分析

# '20/02/16更新:グラフのフォントサイズ調整やタイトル等の見栄え関連のコード更新 本記事では、決定木アルゴリズムの勾配ブースティング法のひとつLight Gradient Boosting Machine(LightGBM, lgbm)の回帰分析について、実務向けコードの雛形を記載して…

Python 1ファイルに全ステップ分が記述されたcsvから散布図を作成する「時間に関する列がない場合」

'21/02/26更新:本文更新。 下図のような行方向に全ステップの時系列データがあるとします。この例では、Time,1 Time,2 Time,3…で区切られています。 本プログラムを実行すると、下図のように時間毎にグラフにプロットした画像ファイルで保存します。 ちなみ…

Python 1ファイルに全ステップ分が記述されたcsvから散布図を作成する「時間に関する列がある場合」

'21/02/26更新:本文更新。 下図のように行方向に全ステップの時系列データがあるとします。この例では、一番左の列に時間に関するデータがあります。 本プログラムを実行すると、下図のように散布図を作成します。この時、指定した2つには赤と青の色を付け…

Python 多目的最適化「Platypus」シリアル化した回帰モデルを読む場合

Platypusに関しては前回、Python 多目的最適化「Platypus」:自作モジュールによる回帰モデルを読む場合 - HK29’s blogで述べた。 本記事では、回帰式を自作モジュールでなくて、シリアライズにより保存した「.joblib」ファイルを読み込んで実行するコードの…

Python 多目的最適化「Platypus」自作モジュールの回帰モデルを読む場合

'20/01/12更新:コードを見易くするため、グラフ化の箇所は関数化して分けた。 本記事では、Pythonの多目的最適化のフレームワークのひとつ「Platypus(カモノハシ)」を利用して、その中に含まれるGAアルゴリズムのひとつ「NSGAII(Non dominated Sorting G…

Python 再帰的にフォルダを探索し、ファイルを整理する

本記事では、例えば下図のように、dirJpgフォルダ内に「1,2,3…」のフォルダがあり、それぞれの中に「picture_A‗数字.jpg」といった名のファイルがある。 dirJpg├─1│ │ picture_A_1.jpg│ │ picture_B_1.jpg│ │ picture_C_1.jpg│ │ …│├─2│ │ picture_A_2.jpg│ …

Python YouTube動画をダウンロードする「Pytube」あるいは「youtube-dl」

'20/08/30更新:youtube-dlを使用する方法を本文末に追記しました。 本記事では、YouTube「ユーチューブ」の動画を.mp4動画ファイルと.mp3音声ファイルへ保存する雛形コードを載せました。インストールは次の通りです。 pip3 install pytube3conda install -…

Python scikit-learn付属のボストン市の住宅価格データ(Boston house prices dataset)をcsvファイル化する

'20/01/01更新: csvファイル化せずに直接読み出す場合についても文末に追記しました。 本プログラム実行後のフォルダ内を下図に示す。3つのcsvファイルを出力しています。 「boston_Xdata.csv」…入力変数Xデータ(設計因子) 「boston_XYdata.csv」…出力変数Y…

Python フォルダを再帰的に探索し、フォルダ別に複数の画像ファイルを動画にする

# '20/02/29更新:新しいフォルダを作成して、そこに動画を格納する仕様に変更しました。多数の画像ファイルが、例えば、下図のようなフォルダ構成である場合に適応する。フォルダ名とファイル名は何でも良い。 カレントフォルダ├─17│ ├─meat│ │ 画像1│ │ 画…

Python 動画編集にて、抽出範囲を指定して更にリサイズする

本記事で動画編集は3度目となる。今回は、下図赤矢印の箇所、つまり、抽出エリアを指定して、不要な場所をカットすることで画像サイズをアップして見易くした。 ▼作成した動画はこちら↓ www.youtube.com ■本プログラム 過去の二つの記事よりも、多少コードを…

Python ラテン超方格法などの乱数で水準表を作成する「lhsmdu」

'23/11/04更新:ひな形コードの可読性を高めるため、クラスと継承で書き直しました。 はじめに、実験計画法(Design of Experiments,DOE)は広義には、直交表計画、中心複合計画、要因計画、ラテン超方格法、最適ラテン超方格法、パラメータスタディ(1因子実…

Python joblibで保存した機械学習モデルを読み込んで利用する

'21/06/19更新:利便性を考えて、JupyterLabのようにインタラクティブに使用できる雛形コードにしました。勿論、テキストファイルに保存してコマンドプロンプトで実行することも可能です。 機械学習モデルを作成してバイナリファイル(.joblib)へ保存する例は…

Python テンソルフローで保存した回帰モデルの読み出しと実行

本記事では回帰モデル「拡張子.h5」を読み出して、予測に使用する方法について記載する。本プログラムをコピーして例えば、「zzz_load_NNmodel.py」のような適当な名前で保存して実行するだけ。 実行後は下図のように入力因子(設計変数)Xデータと回帰モデル…

Python Keras(TensorFlow)によるニューラルネットワーク回帰分析

TensorFlow2.0が'19/10/01に正式リリースされてKeras(ケラス)が統合された。これにより、Sequential(シーケンシャル)にNeural Networkを構築する方法が主流になりそうに思う。それは順番に層を積み重ねて記述する方法であり、define by runでデバックが…

Python 複数のcsvファイルから指定したxyデータをExcelへ抽出して散布図を作成する「openpyxl」

'20/01/31更新:文末の関連記事を更新したことで、本記事のコードを更新しました。 本記事では、次の1,2のような処理をすることで、最終的に下図のような表と散布図を作成します。1. 複数のcsvファイルから指定した2列をそれぞれ抽出して、列方向へ並べてゆ…

Python 複数のcsvファイルから指定した2列のデータを各々抽出して、ひとつのExcelファイルを作成する「pandas」

'20/01/31更新:コードの汎用性を向上しました。抽出後の各列名を「抽出したファイル名_抽出した列名」とする仕様に変更。例えば下図のように列名順が全て同じでデータ行数が異なるファイルが複数あるとする。 本記事では、下図のように指定2列を各々抽出し…

Python Excelファイルで散布図を作成する「openpyxl」

# '20/01/31更新:右記リンク先更新に伴い、本記事のコードも更新しました→Python csvファイル中にある指定2列を複数ファイルからひとつのExcelファイルを作成する - HK29’s blog 本記事では、下図のような複数のXYデータが列方向へ順番に並んでいるExcelフ…

Python ハイパーパラメータの自動最適化「Optuna×sk-learn」

本記事ではオープンソースのライブラリ「Optuna」を使用した雛形コードを載せました。インストールは、次のようにcondaで行えます。 conda install -c conda-forge optuna 分析内容は、ボストンデータセットの住宅価格を目的関数に、scikit-learnのニューラ…

Python 「scikit-learn」による様々な回帰分析(線形/勾配ブースティング/ランダムフォレスト/サポートベクトルマシン/ニューラルネットワーク)

'19/12/22更新・汎用性を持たせるためにcsvファイルを指定して読み込むようにした・NN(Neural Network)の隠れ層をリストとして、複数パターンを指定できるようにした・得られた回帰モデル(回帰式)をシリアライズにより「.joblib」ファイルで保存する 本記事…

Python 動画編集(モザイク処理/無地背景色の指定/フォント色の指定/ビープ音)

本記事では、下記リンク先のような動画を作成します。 www.youtube.com iPhoneで録画した動画をPythonで編集して作成する。具体的には、次の1~8のような処理をする。特に、黒■が本記事の新規項目である。一方、白□は以前の記事に記載したものではあるものの…

Python Linuxのターミナルでコマンド実行した結果を読む方法

'20/03/02更新:コードの可読性の向上。はじめに、下図はLinuxのターミナルで、コマンド $ ps aux を実行した例です。 本記事では、上記のようなコマンドラインで実行した結果がスタックであるようなデータを下図のような横棒グラフを作成して可視化する処理…

Python スマホで録画したゲーム動画をYouTube用へ動画編集「MoviePy」

本記事では、下図左のようにスマホで録画した場合、画面サイズが縦長になるのを下図右のようにアスペクト比を横長へ変更して、日本語文字列を挿入したりと加工しています。 下記リンク先が完成版で、音声も有りです。 www.youtube.com ■本記事で特筆するのは…

VirtualBoxでLinuxのインストールとドラッグ&ドロップの設定。そしてAnacondaのインストール

▼VirtualBoxのダウンロードリンク https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html ▼Ubuntu(Linux)のisoのリンク リンク先のDesktop imageをダウンロードをする http://releases.ubuntu.com/trusty/ 以下、つま…

Python 画像連結により動画を作成する方法 OpenCV

'20/07/26更新:本文を一部編集しました。 下記動画は写真を連結をして作成しました。音楽の挿入はWindows10標準搭載のフォトを使用していますが、それ以外の加工は全てPythonです。 www.youtube.com ▼本プログラム実行のためのフォルダ環境 ① jpg2avi.py…本…

Python OpenCVによる顔認証とモザイク処理

'21/07/17更新:モザイクをかける関数を追記しました。 簡単に出来ます。その理由は、「haarcascade_frontalface_default.xml」のようなカスケード分類器を活用するためです。これは、機械学習でいう特徴量をすでに学習済みである学習分類器(オブジェクトフ…

Python 顔認証など画像処理するOpenCVのインストール方法

'20/08/23更新:condaによるインストール方法を追記しました。OpenCVをインストールする方法は次の2通りです。 pip install opencv-python もしくは、anaconda環境下ではcondaで次のようにします。 conda install -c conda-forge opencv 以上です。 以下では…

Python webスクレイピング/①google NEWSトップページ/②googleニュース検索エンジン/③画像

■本記事はスクレイピングに関して、3つのことをします。 ①google NEWSトップページにあるリンクをスクレイピングする ②googleニュース検索エンジンにキーワード検索をした結果をスクレイピングする 下図のように、タイトルとURLを抽出する。実行する度に、実…

Python ランダムフォレスト(Random Forest)回帰分析のフルver

'20/07/12更新:二次元散布図でY軸範囲を指定した場合、反映されなかったのを修正 本記事のコードは実用的になっています。下図は分析するデータの例で、csv形式のファイルであればOKです。ヘッダーは1行目でなくとも、何行目でも構いません。本プログラム中…

Python ランダムフォレストの結果を可視化するためのdtreevizとgrahvizのインストール手順

'20/07/12更新:一部見易くした■Windowsの場合、初見殺しで大方、次のようエラーになる。graphviz.backend.ExecutableNotFound: failed to execute ['dot', '-Tsvg', '-o', 'data_random_forest_01.svg', '.\data_random_forest_01'], make sure the Graphvi…

Python XYデータの傾きを対数log補完し、指定Yに交差するXを抽出する

本プログラムの概要は下図です。X,Yデータにおいて、Yデータを昇順(小→大)に順番に指定したY値を越えるかを調べます。もし、指定したYを越えたらその前後の(X, Y)値を取得して対数log補完により傾きを計算します。そして、その傾きを利用して指定したYに…