Python

sqlparse で SQL から更新対象のカラムを抽出

sqlparse を使って SQL の UPDATE 文から更新対象のカラムを抽出してみます。 ソースコードは こちら はじめに 更新対象のカラムを抽出するにはパース結果のトークンの中から該当部分を探して値を取得します。 例えば、以下のような UPDATE 文をパースすると…

辞書ベースの日本語 Tokenizer - Kuromoji, Sudachi, Fugashi, Kagome, Lindera

辞書をベースに処理する日本語 Tokenizer のいくつかをコードを書いて実行してみました。 (a) Lucene Kuromoji (b) atilika Kuromoji (c) Sudachi (d) Kuromoji.js (e) Fugashi (f) Kagome (g) Lindera 今回は以下の文を処理して分割された単語と品詞を出力…

RLlib を使ってナップサック問題を強化学習2

局所最適に陥っていたと思われる 前回 に対して、以下の改善案 ※ を思いついたので試してみました。 より困難な目標を達成した場合に報酬(価値)へボーナスを加算 ※ 局所最適から脱して、より良い結果を目指す効果を期待 今回のサンプルコードは http://git…

RLlib を使ってナップサック問題を強化学習

ナップサック問題へ強化学習を適用すると、どうなるのか気になったので試してみました。 強化学習には、Ray に含まれている RLlib を使い、Jupyter Notebook 上で実行します。 Ray 0.8.7 今回のサンプルコードは http://github.com/fits/try_samples/tree/ma…

多腕バンディット問題とトンプソンサンプリング

多腕バンディット問題に対してベイズ的な手法をとるトンプソンサンプリングに興味を惹かれたので、「テストの実行 - C# を使用した Thompson Sampling」 を参考に Python で実装してみました。 ソースは http://github.com/fits/try_samples/tree/master/blo…

CNN でランドマーク検出

前回の「CNNで輪郭の検出」 で試した手法を工夫し、ランドマーク(特徴点)検出へ適用してみました。 Keras + Tensorflow Jupyter Notebook ソースは http://github.com/fits/try_samples/tree/master/blog/20190217/ 輪郭の検出では画像をピクセル単位で二…

CNN で輪郭の検出

画像内の物体の輪郭検出を CNN(畳み込みニューラルネット)で試してみました。 Keras + Tensorflow Jupyter Notebook ソースは http://github.com/fits/try_samples/tree/master/blog/20190114/ 概要 今回は、画像をピクセル単位で輪郭か否かに分類する事(…

Word2Vec を用いた併売の分析 - gensim

「トピックモデルを用いた併売の分析」ではトピックモデルによる併売の分析を試しましたが、今回は gensim の Word2Vec で試してみました。 ソースは http://github.com/fits/try_samples/tree/master/blog/20180617/ はじめに データセット これまで は適当…

トピックモデルを用いた併売の分析 - gensim の LdaModel 使用

トピックモデルは潜在的なトピックから文書中の単語が生成されると仮定するモデルのようです。 であれば、これを「Python でアソシエーション分析」で行ったような併売の分析に適用するとどうなるのか気になったので、gensim の LdaModel を使って同様のデー…

IDWR データで再帰型ニューラルネットワーク - Keras

前回 加工した IDWR データ を使って再帰型ニューラルネットワーク(RNN)を Keras + TensorFlow で試してみました。 ソースは http://github.com/fits/try_samples/tree/master/blog/20180121/ はじめに インストール tensorflow と keras をインストールし…

IDWR データの入手と加工

時系列データ分析を試すのに適した季節性(周期性)を持つオープンデータを探していて以下を見つけました。 感染症発生動向調査 週報(IDWR) インフルエンザ等の感染症の週単位の報告数が都道府県別にまとまっており、csv ファイルでデータを入手できるよう…

Python でアソシエーション分析 - Orange3-Associate

前回 と同様のアソシエーション分析を Python の Orange で試してみました。 Orange3-Associate 1.1.5 ソースは http://github.com/fits/try_samples/tree/master/blog/20180109/ はじめに データセット 前回 と同じデータファイルを使います。 data.basket …

MXNet で iris を分類

MXNet を使って、階層型ニューラルネットによる iris の分類を試してみました。 MXNet ソースは http://github.com/fits/try_samples/tree/master/blog/20170821/ 準備 MXNet は様々なプログラミング言語用の Docker イメージを提供しているので、今回は Pyt…

Python で HAR ファイルから散布図を作成

Web サイトの構成を可視化するため、Python で HAR (HTTP ARchive) ファイルをパースし散布図を試しに作ってみました。 今回作成した散布図の内容は以下の通りです。 横軸は time (処理時間 (ミリ秒)) 縦軸は bodySize (レスポンスボディのサイズ) MIM…

Keras で MNIST を分類

「Keras で iris を分類」 に続き、今回は Keras で畳み込みニューラルネットを使った MNIST の分類を試してみました。 Keras 1.0.8 Python 3.5.2 ソースは http://github.com/fits/try_samples/tree/master/blog/20160920/ 準備 Docker で実行するための Do…

Keras で iris を分類

Theano・TensorFlow 用のディープラーニングライブラリ Keras を使って、階層型ニューラルネットによる iris の分類を試してみました。 Keras 1.0.3 Python 3.5.1 ソースは http://github.com/fits/try_samples/tree/master/blog/20160531/ 準備 今回は Dock…

リストをN個に分割 - Groovy, Java, Python

リストをなるべく均等に N 分割する処理を Groovy・Java・Python で実装してみました。 今回は、[0, 1, 2, 3, 4, 5, 6, 7] を 3分割した結果が [[0, 1, 2], [3, 4, 5], [6, 7]] となるような処理を想定しています。 (余り分を先頭から順に1つずつ分配) ソ…

Python の機械学習環境を Docker イメージで作成

書籍「データサイエンティスト養成読本 機械学習入門編 (Software Design plus)」を参考に、numpy・scipy・matplotlib・scikit-learn パッケージをインストールした Python 3.5.0 の環境を Docker イメージとして作成してみました。 サンプルソースは http:/…

ジニ不純度の算出3 - Python, R, CoffeeScript

前々回 と前回 に続き、下記のようなプログラム言語でジニ不純度(ジニ係数)の算出処理を同様に実装してみました。 Python R CoffeeScript 今回のソースは http://github.com/fits/try_samples/tree/master/blog/20140622/ Python で実装 Python 2.7 IronPy…

IronPython による VirtualBox のインポート・エクスポート - COM API 使用

VirtualBox のインポート・エクスポート処理を IronPython から COM API を使って試してみました。 環境は以下の通りです。 Windows用 VirtualBox-4.2.14-86644 IronPython 2.7.3 ソースは http://github.com/fits/try_samples/tree/master/blog/20130707/ …

記号文字の URL エンコード - Java, .NET, JavaScript, Ruby, Python, PHP

下記のような文字をいくつかのプログラム言語の標準的な API で URL (URI) エンコードしてみたらどうなるか試してみました。 ; / ? : @ = & % $ - _ . + ! * ' " ( ) , { } | \ ^ ~ [ ]使用した言語は下記の通りです。 Groovy (Java API) C# (.NET Fram…

IronPython, IronRuby での Silverlight 4 におけるブラウザー外実行と COM 連携 - WshShell でメモ帳を起動

IronPython, IronRuby で実装した Silverlight 4 にて、ブラウザー外実行時の COM オートメーション連携機能を試してみました。(ただし、IronRuby の方は正常動作しなかった)使用した環境は以下の通り。 IronPython 2.7A1 IronRuby 1.1.1 なお、COM オート…

WCFで名前付きパイプを使ったプロセス間通信 - IronPython でサーバーとクライアントを実行

WCFで名前付きパイプを使ったプロセス間通信を実施してみる。 サービスは C# で、サーバー・クライアントは IronPython でコーディングしてみた。使用した環境は以下の通り。 .NET Framework 3.5 IronPython 2.6 サービスの作成 まず、C# でサービスをコーデ…

Scala で .NET 用の実行ファイル作成

Scala の追加パッケージ scala-msil を使えば、Scala のスクリプトから .NET 用の MSIL(Microsoft Intermediate Language)テキストファイルを生成できる。ということで早速試してみる。今回使った環境は以下の通り。 Scala 2.7.3 scala-msil インストール …

IronPython で Silverlight 2.0 - ボタン表示

前回 id:fits:20080310 のサンプルに手を加えて、ボタンを表示する簡単なサンプルを作ってみた。使用したのは前回と同様に Silverlight SDK 2.0 Beta1。前回との違いは以下のような点。 app ディレクトリに AppManifest.xaml ファイルを用意(前回は chiron.…

IronPython で Silverlight 2.0

Silverlight SDK 2.0 Beta1 を使って IronPython を使った簡単なサンプルを作ってみた。手順は以下の通り。 app ディレクトリ作成 app.xaml 作成 app.py 作成 chiron.exe による app.xap 生成 index.html 作成 なお、Silverlight SDK 2.0 Beta1 では IronPyt…

IronPython で WebDAV を使ってファイルをアップロード

以下のように .NET の WebClient や WebRequest クラスを使えば、WebDAV の操作が行える。 コレクションの作成 WebClient の UploadString 等を使って URI、MKCOL を指定するだけなので非常に簡単 http://localhost/webdav/ に test1 フォルダを作成する例 f…

IronPython での COM オブジェクトのプロパティ

COM オブジェクトの set_XXX メソッドは IronPython 上でプロパティ(attribute)として扱われる。そのため、複数の引数をもつ set_XXX メソッドの場合、IronPython 上では set_XXX が使えず、以下のような記述をすることになる。 obj.Property名[引数値, 引…

IronPython での Generics の扱い

IronPytyon では、generic な型は、" [タイプ名] "で指定するようになっている。例えば、C# で以下のような記述をする場合、 List<string> list = new List<string>(); IronPython では以下のようになる。 list = List[String]() IronPython での Generics タイプ使用例 # co</string></string>…

IronPython を使って Excel ファイルの指定セルの値を取得

IronPython を使って、既存 Excel ファイルの指定セルの値を取得するサンプルを作成する。 事前準備 Microsoft Office 2003 がインストールされていれば、以下のように clr を import し、office と Excel の .NETアセンブリを AddReference するだけでよい…