Python

Pyserialを使う

Pyserialはここからダウンロード http://pypi.python.org/pypi/pyserial 解凍してから sudo python setup.py installでインストール。ドキュメントはこちら http://pyserial.sourceforge.net/shortintro.html macで接続中のシリアルポートを確認するコマンド…

pythonでxmlを処理する

ElementTreeを使う。 #! /usr/bin/env python # -*- coding: utf-8 -*- import urllib2 from xml.etree import ElementTree xml = urllib2.urlopen("http://www.oricon.co.jp/api/ranking/xml/rankingdata.xml") tree = ElementTree.parse(xml) titles = tre…

Pythonを32bitモードで起動する

http://stackoverflow.com/questions/3606964/no-matching-architecture-in-universal-wrapper-problem-in-wxpython $ arch -i386 pythonとする。64bitは $ arch -x86_64 pythonhttp://stackoverflow.com/questions/3631108/why-cant-i-change-the-system-de…

VBスクリプトをPythonに変換するvb2py

vb2py http://vb2py.sourceforge.net/downloads.htmvb2pyguiの方をインストールしてみます。 http://sourceforge.net/projects/vb2py/files/vb2pygui/いろいろと依存環境があるのでインストール。wxpythonをインストール。(dmg、パッケージインストーラをダ…

Python2.7.3をインストールする

最近ビルドでarchitecture type関連のエラーでコケるので、2.7.3の32bit/64bitをインストールした。 http://python.org/download/ http://stackoverflow.com/questions/6839795/cant-figure-out-the-architecture-type-of-problem-when-compiling-python

Pythonで外部Webブラウザを起動する

Webbrowserモジュールを使う。 http://d.hatena.ne.jp/kakurasan/20090310/p1 import webbrowser webbrowser.open("http://www.google.com")

PythonでテキストファイルのJSONを読み込む

いっつも忘れる。 openしてjson.loadする。(open.read()はしない) import json fin = open("miserables.json") fjson = json.load(fin)

PythonでLSAを使う

LSAとはlatent semantic analysisの略。 主成分分析とかに似てる感じ。固有値の大きい固有ベクトルを基底として 座標変換する。 単純にTF-IDFとっただけだとゼロの成分に重みが付加されるので (主に単語ベクトルなどのスパースなベクトルから)特徴ベクトル…

pythonで正規表現を使って数字列を取り出す

group()を使うのがミソ。 以下では数字のうしろにセミコロンというゴミが入っている文字列の中から 数字だけ取り出すコード。 import re hoge = "12345;" suuji = re.match("\d*",hoge) extracted = suuji.group() http://www.geocities.jp/m_hiroi/light/py…

PythonにNLTKをインストールする

http://d.hatena.ne.jp/sconvict/20100804/1280900642地味にハマった。 ソースからインストールした。ソースからインストールするときは ちゃんとビルドするフォルダに移動してから python setup.py install しましょう。

Pythonでwordnetを使う

Pythonによる自然言語処理のP71を参照。synsetsで同義語集合をとれる。

Pythonで要素数を指定して空配列を作成

http://anon21.qlookblog.net/20100926.m.html?guid=ON a = [0] * 3 print a #=> [0,0,0]

Pythonで小数を扱う

ベルヌーイ分布を実装しようとしてつまづいたところ。 p = [0.1,0.2,...1.0]というリストをリスト内包表記でつくろうとした。 p = [0.1*x for x in range(1,10)] print p すると、 小数点以下のおまけがついてくる。

vimでpythonを使うための設定

http://d.hatena.ne.jp/over80/20090305/1236264851.vimrcに以下を追加 autocmd FileType python setl autoindent autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class autocmd FileType python setl t…

カルマンフィルタを実装する(トロッコの問題)

カルマンフィルタを実装してみました。 こちらの解説を参考に。http://www.cs.unc.edu/~welch/kalman/kalmanIntro.html 問題はwikipediaにあるトロッコの問題。 早速コードから。 グラフはこちら。 0

Python Image Library(PIL)のインストール

(注意)いろいろと無駄なことをしています。 Programming Collective Intelligenceに必要なのでインストール。 PILをソースからインストールを試みる。 sudo python setup.py install でいけるかなと思ったら、gcc-4.0がないとのこと。 gcc-4.2の環境なので…

Pythonのバージョンを切り替えるvirtualenv

NLTK動かないなと思ったら、pythonのバージョンが2.7.1に切り替わってる。 macport消したときにpython_selectも同時に消えたのかな? 最近nltk使ったときは動いてたと思うけど、zshに切り替えたから?よくわからない。virtualenvというツールがあるみたい。 …

Pythonについて

http://www.openscript.org/wiki/index.php?Pythonいい感じにPythonがまとめてあった。いろいろと気づいたことを。・文字列の先頭のクオーテーションの前に"r"をつけると、エスケープシーケンスのバックスラッシュは単なる文字として解釈される。これを「raw…

pythonの予約語

http://subtech.g.hatena.ne.jp/otsune/20060621/pythonreservedwords >>> __import__('keyword').kwlist ['and', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', ' finally', 'for', 'from', 'global', 'if', '…

NLTKの勉強

Natural Language Processing with Pythonを読みつつ雑多な情報を記していきます。 __future__ について P.9の from __future__ import division がわからない。 http://www.python.jp/doc/2.5/ref/future.html 正誤表について 正誤表はここにある。 http://…

Widrow-Hoffの学習規則

データの完全な分離ができない場合、 誤差を最小にするように、識別関数の重みベクトルを計算する。(定式化) 教師信号と識別関数の値の差を誤差と定義 この誤差の2乗和を考える これについて、すべての学習パターンについて総和をとる。 やることは、この…

サポートベクターマシンの実装(その1)

ラグランジュ係数を2次計画問題で解くところが肝。 SMOアルゴリズムとかあるけど、 とりあえず最急降下法を試す。やることは、ラグランジュ関数 の、制約条件 のもとでの最大化である。更新式は、 より # coding: utf-8 import numpy as np import matplotli…

パーセプトロンの学習規則

線形分離可能な2クラスの識別問題をパーセプトロンの学習規則を使って解く。(NN法について) 1. NN法(Nearest neighborhood:最近傍法)とは、 各クラスw1,w2,..に属するプロトタイプ(代表点)p1,p2,..に対して 入力された特徴ベクトルxとの距離が最小とな…

いろいろなフィッティング

http://d.hatena.ne.jp/aidiary/20100327/1269657354 http://d.hatena.ne.jp/aidiary/20100404/1270359720 を見ながらフィッティングのお勉強。まずはサンプルデータの生成 #usr/bin/env python #-*- coding: utf-8 -*- import numpy as np from pylab impor…

Pythonによる物理シミュレーションの準備

Open Dynamics Engine(PyODE)をつかう。 http://rbintelligence.hide-yoshi.net/pyODE0.html を参考に。Python、setuptools、GLUT、PyOpenGL、pyODE のインストールが必要。PyODEのインスコでエラーが吐かれてる。 pyrexのインストールが必要、とのメッセー…

共分散行列を求める

# usr/bin/env/ python # -*- coding: utf-8 -*- from scipy import * import scipy.linalg import numpy import math from heikin import Statistics #クラスの読み込み(.pyは削除する=heikin.pyとしない) c = Statistics() #CはStatisticsクラスのインスタ…

python+Scipyで行列計算

Scipyをつかって行列計算。 [参考]http://handasse.blogspot.com/2007/07/scipy.html # usr/bin/env/ python # -*- coding: utf-8 -*- import scipy import scipy.linalg from numpy import * a = [ [1,3,5], [2,5,1], [2,3,8]] A = mat(a) #print "配列 a:…

wikipediaの各記事における重要な語を抜き出す

wikipediaのある記事に対して、その記事を特徴付けるような語を抽出したい。 まずは、単純にTF(term-frequency:単語の出現頻度)を用いた方法。 まず、事前準備として解析対象となる記事を取得する。(記事を指定する場合) http://en.wikipedia.org/wiki/S…

逐次検索

逐次検索。 #! usr/bin/env python # -*- coding: utf-8 -*- #sequential_search.py dict = {"Ann":18,"Rolla":19,"Nancy":16,"Eluza":17,"Juliet":18,"Machilda":20,"Emy":15,"Candy":16,"Ema":17,"Mari":18} word = raw_input("Whose age? : ") N = len(di…

直接選択法によるソート

直接選択法によるソート。 N番目〜末尾のリストに対して最小値を先頭に持っていくことを繰り返す。 最小値を求める関数search_min()を定義して使いたかったので メインの関数、direct_sort()が逆に汚くなった。 #! usr/bin/env python # -*- coding: utf-8 -…