Posts
記事の一覧です。
2023
Scikit-learnのSVCクラスによるサポートベクターマシン
·1924 文字·4 分
サポートベクターマシン (SVM, support vector machine) は分類アルゴリズムの1つです。SVMは線形・非線形な分類のどちらも扱うことができます。また、構造が複雑な中規模以下のデータの分類に適しています。
Scikit-learnのDecisionTreeClassifierクラスによる分類木
·3865 文字·8 分
分類木 (classification tree) は、分析したデータが属するカテゴリー(クラス)を予測する分類アルゴリズムの1つです。分類木では、Yes/Noによる分岐を何度か繰り返して、分類の予測を返します。
2022
PyomoでMINLPソルバSCIPを利用する
Pythonの最適化モデリングツールPyomoで、混合整数非線形最適化 (MINLP) ソルバSCIPを利用する方法をまとめました。
CVaRとシナリオ法によるポートフォリオ最適化
CVaR (Conditional Value at Risk) によるリスクを評価したポートフォリオ最適化手法について、“Optimization Methods in Finance"を読んで勉強した内容をまとめました。
Cloudflare Pages上でSphinxサイトを自動デプロイする
静的サイトホスティングサービスのCloudflare Pages上でドキュメント生成ツールSphinxを自動デプロイする手順を備忘録としてまとめました。
PythonとCasADiを使ったDirect Multiple Shooting法による最適制御
Pythonと最適化ライブラリCasADiを使って、Direct Multiple Shooting法と呼ばれる手法によって最適制御問題を解きました。
Visual Studioでターゲットフレームワークがインストールされていないときの対処法
Visual Studioで「プロジェクトのターゲットフレームワークがインストールされていません」というエラーが表示された場合の対処法を解説します。
Sphinxでサイトマップを作る
Sphinxでサイト構造を示すサイトマップ (sitemap.xml) を作成する方法をまとめました。
Pythonのclassmethodとstaticmethodの使い分け
Pythonのクラスにおいて、インスタンスメソッドとクラスメソッド (classmethod), スタティックメソッド (staticmethod) を使い分ける方法をまとめました。
Gitで過去のコミットからブランチを切る
Gitで過去のブランチからコミットを切るには、git checkout -b <新しいブランチ名> <コミットのハッシュ> を実行します。
Pyomoで利用できる無償の数理最適化ソルバ
Pythonの最適化モデリングツールPyomoで利用できる無償の数理最適化ソルバと、その導入方法をまとめました。
Pyomoモデルの変数・制約・目的関数の数を取得する
Pythonの最適化モデリングツールであるPyomoで、最適化モデルに定義された変数や制約、目的関数の数を取得するには、nvariables(), nconstraints(), nobjectives()メソッドを用います。
Sphinxで生成するHTMLにSNSシェア用のOGPタグを設定する
Sphinxで生成する記事のHTMLに、SNSで詳細情報を伝えるためのOGP (Open Graph Protocol) を導入する方法をまとめました。
Pyomoモデルの変数・制約の情報を一括で取得する
Pythonの最適化モデリングツールであるPyomoで、modelに定義された変数や制約の情報を一括して取得する方法をまとめました。Pyomoの変数や制約がベクトル化された状態でも対応できます。
PyomoのImplicitly replacing the Component attribute警告について
Pythonの最適化モデリングツールPyomoでImplicitly replacing the Component attributeという警告が表示される場合、Pyomoのモデルに重複した変数名や制約名が定義されています。異なる変数名や制約名にすることで、警告が表示されなくなります。
Julia製の経路最適化ソルバALTROのサンプルスクリプト読解
Julia製の経路最適化ソルバALTROを試してみるため、サンプルスクリプトを読み解いたメモを記事として残します。
Julia製の経路最適化ソルバALTROを導入する
Windows環境にJuliaと経路最適化ソルバALTROを導入する方法を備忘録として残します。
PythonでSQLiteを扱う
Pythonのsqlite3ライブラリを使ってSQLiteを扱う方法をまとめました。
Linux MintのライブUSBをWindows10で作る
Linux Mint v20.3のライブUSBを作成してPCにインストールしたので、手順を備忘録として残します。
Markdown拡張言語MySTの記法
Markdownの拡張言語であるMyST (Markedly Structured Text) について、Markdownから追加された記法を簡単にまとめました。
SphinxでMarkdown拡張言語のMySTを扱う
SphinxでMarkdownの拡張言語であるMyST (Markedly Structured Text) を導入する方法をまとめました。
SphinxのモダンテーマFuroを導入する
Python製ドキュメント生成ツールSphinxのモダンテーマFuroの導入方法をまとめました。
Sphinxを使ったHTMLドキュメント作成
ドキュメント生成ツールSphinxを導入し、HTMLファイルを生成するまでの方法をまとめました。
最適制御向け最適化ライブラリOpEnのRust build of TCP interface failedエラーについて
OpEnで発生するRust build of TCP interface failedエラーの解消方法を示します。
Powershellで複数のテキストファイルから文字列を検索
·1438 文字·3 分
PowerShellのls, slsコマンドを使って、サブフォルダを含む複数のテキスト形式のファイルから文字列を検索
HTML, CSS, JavaScriptを圧縮 (minify) するPythonスクリプト
HTML, CSS, JavaScriptを圧縮 (minify) して、ファイル容量を削減するPythonスクリプトを作成しました。
2021
Hugoのドキュメント用テーマDoksのカスタマイズ
Doksは静的サイトジェネレータHugoのテーマの1つであり、ドキュメントサイトの構築に向いています。Doksテーマの主なカスタマイズの方法をまとめました。
Hugoのドキュメント用テーマDoksの導入から公開まで
Doksは静的サイトジェネレータHugoのテーマの1つであり、ドキュメントサイトの構築に向いています。Doksテーマの導入から、Netlifyを使ったサンプルサイトの公開までをまとめました。
PowerShellのGet-ChildItem (gcm) でパスが通ったプログラムの場所を調べる
·1416 文字·3 分
PowerShellでパスが通ったプログラムの場所を表示するにはGet-Command (gcm) コマンドレットを使います(Linuxのwhich, whereコマンドに相当)。
「インデックスファンド比較サイト」をリリース
「インデックスファンド比較サイト」をリリースしました。サイトの概要と、使用した技術についてまとめています。
【Python】定数を持つ関数の実行を高速化する
Pythonの関数において毎回決まった値(定数)を必要とする場合、どのように記述すれば処理が速くなるか検証しました。
PythonとCasADiを使ったDirect Single Shooting法による最適制御
Pythonと最適化ライブラリCasADiを使って、Direct Single Shooting法と呼ばれる手法によって最適制御問題を解きました。対象とした例題は斜方投射(物体を斜め方向に上げる)で、指定の時刻・距離に物体を到達させる最小の初速度を求めます。
Direct Single Shooting法による最適制御
最適制御問題を解く手法の1つである、Direct Single Shooting法のアルゴリズムをまとめた。
最適制御向け最適化ライブラリOpEnに入門する
Rust製の最適制御向け最適化ライブラリOpEnに入門するためチュートリアルの非線形計画問題を解いたので、備忘録を兼ねてまとめた。
Rust製最適化ライブラリOpEnのインストール
Rust製の最適化ライブラリOpEnをWindows 10にインストールし、Pythonから使えるようにする。
滑らかではない凸最適化とForward-backward envelope
Forward-backward envelope (FBE) に関する論文を読んだので、備忘録として残す。
scipy.interpolate.interp2dによる2次元データの補間を解説
Pythonの数値解析ライブラリSciPyのinterpolate.interp2dクラスを使って、2次元形状のデータを補間する方法を解説する。補間オプションや、実際の補間例も示す。