サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
会話術
testpy.hatenablog.com
Twitter分析をすることになったため、APIを使った検索について調査検証を行った。 結論から言うと、公式のAPIは、パラメーターが少なくロクな検索ができないのだが、 クエリにパラメーターを含めることで様々な検索が可能になることが分かった。 以下にその方法を示す。 1. APIとの接続 APIへ接続する前に、CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRETを取得する。 Twitter REST APIの使い方とか読み進めていけばできると思う。 僕の場合は、昔に設定してたのが残っていたので、それを使用することにした。 取得できたら、設定ファイル(今回はconfig.py)を作成して、以下のように各コードを書き留めておく('xxx'の部分を変更)。 こうすることで、検索ファイルにべた書きするより多少リスクが軽減さ
最近Pythonの並列処理をよく使うのでまとめておく。 基本形 並列処理したいメソッドを別に書いてPoolから呼び出す。 multiprocessing.cpu_count()はシステムのCPU数を返す。 僕の環境では4。デュアルコアなのでスレッド数だと思う。 import multiprocessing def f(x): return x*x n = multiprocessing.cpu_count() p = multiprocessing.Pool(n) params = range(1,4) result = p.map(f, params) 1から3までを二乗しているので、次のような結果になる。 >>> print result [1, 4, 9] 複数の引数を渡す Pool().map()には引数は1つしか渡せない。 しかし、これは複数の引数を1つの引数にまとめることで解決
dicts in listからDataFrameを作成することはよくあるが、 DataFrameをdicts in listにしたい時がたまにある。 df.to_dict('records')を実行するだけで良いのだが、 このシンプルなコードを良く忘れるのに記事にした。 入出力がまったく同じdicts in listで実施。 dicts_in_list = [{'x': random.randint(0, 10), 'y': random.randint(1, 5)} for i in range(10)] for dil in dicts_in_list: print dil df = pd.DataFrame(dicts_in_list) print df dicts_in_list = df.to_dict('records') for dil in dicts_in_list: p
MeCabでwakatiとchasenを使うと、それぞれ分かち書きと形態素解析ができる。 これらの結果を利用しやすくするために、前者は単語のリスト、後者は単語と品詞のセットのリストとして取得できるようにした。 分かち書き まずはMeCabの使い方から。最初は分かち書き。 パラメーターに"-Owakati"を指定する。 text = '日本語の自然言語処理は本当にしんどい。' tagger = MeCab.Tagger("-Owakati") result = tagger.parse(text) print result 結果。これをリストにする。 日本語 の 自然 言語 処理 は 本当に しんどい 。 分かち書き結果をリストで取得 メソッドは以下の通り。 文字コードとか、不要な情報とかを除去してリスト化している。 def word_tokenize(self, doc): """ Exe
VGG16, VGG19, ResNet50, InceptionV3など、 ImageNetで学習済みのモデルがKerasで使える。 物体認識だけでなく特徴抽出にも使えるので、 複数画像をVGG16で特徴抽出して、これをk-means++でクラスタリングしてみた。 なお複数画像は、ハワイで撮影したフラダンスの動画をフレーム分割して用意した。 以下に説明するコードは、ここ に置いておく。 ディレクトリー構成 ディレクトリー構成は以下の通り。 src/image_clustering.py が実行ファイルとなる。 data/video/ にクラスタリングしたい動画を置く。 data/images/targrt/ に動画をフレーム分割した画像が保存される。 data/images/clustered/ に分類済みの画像が保存される。 なお、動画でなくても、クラスタリングしたい画像を data/
CIFAR-10を読み込もうとしたら、Python2で動いてたcPickleがPython3では動かない。 import cPickleと書けばImportError: No module named 'cPickle'と吐き、 d = cPickle.load(f)と書けばUnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6: ordinal not in range(128)と吐く。 これらの問題を解決する。 cPicleではなく、_pickleを使う Python3ではcPicleなど存在しない。代わりに_pickleを使えばいいのだが、 修正を最小限にするために、以下のように記述する。 #import cPickle import _pickle as cPickle loadできない場合はエン
FirebaseのWebアプリ作成チュートリアルでは、ApiKeyやAppIDなどの情報をhtmlソースにコピペすることなっている。 これらの情報が公開されることに少し抵抗があったので、焼け石に水だが、これらの情報は別のjavascriptファイルにして、 htmlから呼び出す仕様にしてみたが、リンクをクリックすれば分かるし、はやりセキュアなのか気になったので調査したみた。 index.html ... <script src="https://www.gstatic.com/firebasejs/3.3.2/firebase.js"></script> <script src="app.js"></script> ... app.js ... var config = { apiKey: "<your-api-key>", authDomain: "<your-app-id>.fireb
モデル設計などの際に、TensorFlowのコードが長くなるので自分でラッパーを書いていたのだが、 ざっとKerasを調べてみたら、ラッパーが必要ないくらいシンプルに書けるし、 前処理などモデル設計以外のツールも充実しているようだったので、 KerasでCIFAR10のモデルを訓練するコードを書いてみた。 なおKerasについては、KerasでCIFAR-10の一般物体認識 - 人工知能に関する断創録 が非常に分かりやすかった。そのため以下に示すコードは、こちらの記事をベースに色々とカスタマイズしている。 なおKeras v1.2.2, tensorflow-gpu v1.0.0, opencv-python v3.2.0を使用しており、 全コードはここで公開している。 パラメーター IDG_PARAMはData Augmentationのパラメーター。 今回は、ZCA Whitening
modelの保存と復元は、それぞれ以下のようにシンプルな設計で行える。 Save a model saver = tf.train.Saver() saver.save(sess, '../model/test_model') Restore a model saver = tf.train.Saver() saver.restore(sess, '../model/test_model') 本記事では、実際にmodelを訓練して保存し、そのmodelを復元して、各々のテスト精度が一致していることを確認する。 処理の流れ # coding: utf-8 import tensorflow as tf import random import os from data_fizzbuzz import DataFizzBuzz class Test: def __init__(self): p
それほど厳密に調査した訳ではないが、NLTKのコーパスには日本語のストップワードが存在しないようで、多くの人は SlothLib を利用している、という印象をWebから受けた。 SlothLibのように単語ベースでストップワードを定義している一方で、 IBM Content Analytics のように、シンプルに名詞か動詞以外の品詞の単語をストップワードとしているのもあった。 今回は、これら2種類の定義により、入力したテキストのストップワードを出力するメソッドを実装した。 品詞によるストップワードの取得 前回、単語と品詞のセットのリストが取得できるメソッド word_and_class() を作ったので、 そこから名詞と動詞以外の単語を取得する。 word_class = self.word_and_class(doc) ok_class = [u"名詞", u"動詞"] stopwor
これまで2回に渡ってReactについて学んできた。 testpy.hatenablog.com testpy.hatenablog.com 僕は普段、Pythonを使って機械学習やデータ解析のコードを実装してるのだが、 Webアプリ化したいな、できればReactで実現できたらいいな、と思うことが度々あった。 そこでPythonistaのために、Reactを使った簡単なWebアプリ作成記事があればと、 今(2016/10/31現在)は亡きReactチュートリアル日本語版 をベースに、MongoDBに格納したRSSをPythonで読み込み、Flask経由でクライアントに送り、 Reactで描画してみたので、コードを載せておく。 ただし説明はほとんどないので、バリバリのReact初心者の方は、上の記事でベースを固めてから読んでみて下さい。 ちなみに、Reactチュートリアルのソースはまだあります
このページを最初にブックマークしてみませんか?
『testpy.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く