drilldripper’s blog

ソフトウェア開発と人生をやっていきます

Python

AWS Lambdaを使ってサーバレスにWebサイトを監視してSlackに通知する

Webサイトの状況を監視するためのスクリプトを動かしたいというシチュエーションが発生することがあります。典型的な例としてECサイトの在庫監視などがあると思います。この文章を読んでいる人の中には、Nintendo Switchの在庫状況を監視して通知するスクリ…

Pythonの引数を統一的に選択するためのツールを作りました

PycharmやVisual Studioなどの統合開発環境を使っていると、コマンドライン引数の指定が面倒に感じたりしませんか? 例えばPycharmではEdit configurationsを開きScript parameterを変更する必要があります。 またScript parameterではGUIを使って引数を選択…

手書き風グラフを支える技術 -Matplotlibのxkcd関数とFIRフィルタ-

Pythonのグラフ描画ライブラリのMatplotlibには、手書き風のグラフを描画するための関数xkcd()があります。以下のソースコードを実行すると、手書き風のsinグラフが描画されます。 from matplotlib import pyplot as plt import numpy as np plt.xkcd() # こ…

AnacondaのJupyter NotebookがPycharmで動作しない問題の解決方法

Jupyter Notebook(Ipython Notebook)は基本的にブラウザ上で動作するソフトウェアですが、Pycharmでから動かすこともできます。使い慣れているキーバインドやかしこい補完が使えるので、Pycharmで動かすメリットは大きいと思います。 しかし現在Anacondaを使…

OpenCVの補助として使うscikit-image ~同時生起行列特徴量~

OpenCV 画像処理の代表的なライブラリといえばOpenCVだと思います。C++やPythonなど複数の言語で使用することができるため、アプリケーションへ組み込む際に利用することも多いと思います。 OpenCVにはたくさんの関数が実装されていて非常に便利ですが、画像…

ランダムフォレストの理論と重要な特徴量の選定

ランダムフォレストと決定木学習 ランダムフォレストを理解するためには、決定木学習の手法について理解する必要があります。まず最初に決定木学習の理論について説明します。 決定木学習 決定木は親から順に条件分岐を辿っていくことで、結果を得る手法です…

SVMの基本原理と不均衡データに対するパラメータ調整

前回の記事では不均衡データをサンプリングすることで、学習の精度を上げる方法を書きました。今回はSVMのパラメータを調整することで、不均衡データの学習の精度を上げる方法について書こうと思います。 そのためにSVMの基本を理解しておいたほうがよいと思…

pandasを使った不均衡データの整形

不均衡データ 機械学習を行う上で正例と負例が偏っている学習データを使うと、学習がうまく行きません。サンプル数が多いクラスに引っ張られてしまいます。そのため事前にデータの加工を行うと、結果が良くなることが知られています。 多い方のクラスを少な…

スクリーンショット自動化ツール「BindScreen」を作りました

スクリーンショット自動化ツール「BindScreen」 スクリーンショットを自動でとって加工する「BindScreen」を作りました。 ツールとソースコードはGitHubからダウンロードすることができます。 BindScreen - Github drilldripper/BindScreen 使用例 次のスラ…

PyQtのConnectで引数付きの関数を渡す方法

PyQtではconnectを使ってイベントに対応する関数を呼び出すことが出来ます。しかし引数付きの関数をconnectに直接渡すことは出来ません。以下のようなエラーが発生すると思います。 "TypeError: connect() slot argument should be a callable or a signal, …