2016-01-01から1年間の記事一覧

TensorBoardのEventsによる学習状況の可視化

TensorFlowに学習状況を可視化するTensorBoardというツールがあるのだが、 コスト関数と精度を可視化してみたかったので使ってみた。 実装 Deep Learning入門としてのFizzBuzz問題 のモデル学習のメソッドをベースにしている。 コメント# Logging data for T…

Deep Learning入門としてのFizzBuzz問題

FizzBuzz問題とは何か。 こちらから引用させてもらう。 Fizz-Buzz問題の例はこんな感じだ。 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合に…

Pythonの並列処理

最近Pythonの並列処理をよく使うのでまとめておく。 基本形 並列処理したいメソッドを別に書いてPoolから呼び出す。 multiprocessing.cpu_count()はシステムのCPU数を返す。 僕の環境では4。デュアルコアなのでスレッド数だと思う。 import multiprocessing …

TensorFlowによる精度計算の流れを追う

accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(Y, 1), tf.argmax(Y_, 1)), tf.float32)) Yをニューラルネットワークの出力層、Y_をその正解ラベルとした場合、学習モデルの精度を計算するとき、 TensorFlowでは上記ようにAPIを組合せて書くことがあ…

jsmでYahooファイナンスのデータを片っ端から取得してMongoDBに保存する

はじめに jsm(Japanese Stock Market)という Yahooファイナンスをクロールして株関連データを取得できるライブラリーがある。 Brand、Finance、Priceデータが取得できるので、東証一部に絞ってデータを片っ端から取得するコードを書いた。 インストール pip…

ReactのListとKey

ReactでList(ObjectのArray)を描画する際、mapを利用して各Objectの項目をセットする。 var data = [ {id: 1, author: "Pete Hunt", text: "This is one comment"}, {id: 2, author: "Jordan Walke", text: "This is *another* comment"} ]; var CommentLi…

React + Flask + Python + MongoDBで作るRSSリーダー

これまで2回に渡ってReactについて学んできた。 testpy.hatenablog.com testpy.hatenablog.com 僕は普段、Pythonを使って機械学習やデータ解析のコードを実装してるのだが、 Webアプリ化したいな、できればReactで実現できたらいいな、と思うことが度々あっ…

Reactチュートリアル入門: Pythonサーバーサイド連携編

チュートリアル | React がなくなったようで。。良いチュートリアルだったのに。。 まあとりあえず、前回は クライアントサイドのみでWebサイトを表示したので、 今回はサーバーサイドで取得したデータをクライアントサイドに渡して表示させる。 とは言って…

Reactチュートリアル入門:クライアントサイド編

チュートリアル | React(何故か2016-10-23時点ではNot Found) を理解しながら写経すると、Reactで簡単なWebアプリが作れるようになる。 しかし、僕自身もそうだが、テンプレートを使ったWebアプリしか作ったことしかなく、 Reactを理解したいという人向け…

Atomがフリーズしたときの対処法

macOS Sierraにアップデートしたら、"Editor is not responding"となったので、その対処法をメモに残しておく。 手順 Finderのメニューバーから、[移動] > [フォルダーへ移動...]と選択 テキストボックスに<~/.atom/storage>を入力して[移動]ボタンをクリッ…

Python製プログレスバーを3行で書く

for文の中に標準出力を書くと、ターミナルが文字で埋め尽くされるので回避したいが、 for文の中身が重くて無反応になるのも困る。 なのでプログレスバーを書けば良い、という結論に至るわけだが、 さくっと色んなfor文に書きたいので、3行で書く方法を説明…

Luhnの要約アルゴリズムの後処理

これまでLuhnの要約アルゴリズムの 前処理として基本的な自然言語処理を、 本処理としてテキストの各文のスコア付けを行った。 今回は後処理として要約テキストとして表示させる。 要約テキストは、スコア付けされた文を選択することで生成される。 ここでは…

Luhnの要約アルゴリズムの本処理

Luhnの要約アルゴリズムの前処理の続き。 記事本文を"。"で分割して文のリストにし、さらに英語を小文字化したのがnormalized_sents(以下、sents)だった。 ここでは、分割された各文がどのようにスコア付けされるかを見ていく。 文を単語に分割する 今回は…

Luhnの要約アルゴリズムの前処理

入門 ソーシャルデータ ―データマイニング、分析、可視化のテクニック作者: Matthew A. Russell,奥野陽(監訳),佐藤敏紀(監訳),瀬戸口光宏(監訳),原川浩一(監訳),水野貴明(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2011/11/26メ…

簡易的な日本語ストップワードの取得メソッド

それほど厳密に調査した訳ではないが、NLTKのコーパスには日本語のストップワードが存在しないようで、多くの人は SlothLib を利用している、という印象をWebから受けた。 SlothLibのように単語ベースでストップワードを定義している一方で、 IBM Content An…

MeCab-Pythonで分かち書きと形態素解析

MeCabでwakatiとchasenを使うと、それぞれ分かち書きと形態素解析ができる。 これらの結果を利用しやすくするために、前者は単語のリスト、後者は単語と品詞のセットのリストとして取得できるようにした。 分かち書き まずはMeCabの使い方から。最初は分かち…

新規リポジトリー同期のためのGitHub Desktop

GitHub Desktopを使って、GitHubで作った新規リポジトリーをローカルと同期させるための手順をまとめた。 手順 ローカルでファイル作成 GitHubでリポジトリー作成 GitHubのリポジトリーにファイルをアップロード GitHub DesktopでGitHubのリポジトリーをクロ…

GIGAZINEの記事をPythonでスクレイピング

前回、 GIGAZINEのRSSをDBに保存した。今回はソースから本文を抽出してDBに保存する。 urllib2でソースを取得 リンクからソースを取得するには、urllib2.urlopen()を使うのが早い。 articleのlinkを渡す。取得したソースは、idをファイル名にして保存する。 …

GIGAZINEのRSSをPythonで読み込む

毎日読んでいるGIGAZINEをなんとかもっと効率的に読めないかと常日頃思ってる。 とりあえず、PythonでRSSだけでも読み込んでみようとした記録を書いておく。 feedparserでRSSを取得 feedparserを使うとRSSから記事を取得してくれる。 各記事については、次の…

PythonからMongoDBをCRUD操作

MongoDBはHomebrewで、pymongoはpipでインストールすれば使える。 Create 前半は定型文。 datebaseとcollectionは、client.my_database.my_collectionでも作れる。 でも、のちのち名前を自由に付けたくなると思うのでStringを使った。 データはjsonライクな…

Homebrewがアップデートできない時の対処法

しばらくHomebrewを使っていなくて、mongodbを使うために久々にコマンドを打ったらエラーが出た。 $ brew update /usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter…

python-firebaseでCRUD操作

Python経由でFirebaseのDBを操作することができるので、CRUD操作の方法をまとめた。 インストール pipでrequestsとpython-firebaseをインストール。 python-firebase 1.2のチュートリアルだと、requestsのバージョン指定がある。 でも僕の場合、既にインスト…

FirebaseのApiKeyとAppIDはHTMLソースにコピペしてもセキュア

FirebaseのWebアプリ作成チュートリアルでは、ApiKeyやAppIDなどの情報をhtmlソースにコピペすることなっている。 これらの情報が公開されることに少し抵抗があったので、焼け石に水だが、これらの情報は別のjavascriptファイルにして、 htmlから呼び出す仕…

Firebase入門に最適な記事とリアルタイムデータベース体験

Firebaseとは?から簡単なWebアプリをホスティングサーバーにデプロイするまでは、 Firebaseの始め方が分りやすかった。 入門はこれだけ読めばOKだと思う。 リアルタイムデータベース 自分でも同様のアプリを作って、Firebaseの最も大きな特徴でリアルタイム…

Macでnpmを使う

Firebaseを始めようとしたら、npmコマンドが見当たらない、と言われ出鼻をくじかれた。 $ npm install -g firebase-tools -bash: npm: command not found 調べてみたら、Node.jsの管理ツールとのこと。 Pythonでいうところのpipみたいなものか、と理解して、…

ネット切断頻度が高くなってきたので、ルーターのファームウェアをアップデートした

Netflixを見ていると、たまに字幕が現れなくなることがあった。原因は、ルーターの不具合でネットが切断されていたためで、これは一度ルーターの電源を落として再起動させることで解決できていた。しかし、最近は1日数回と頻度が高くなり、とても快適なイン…

AtomのMarkdown Previewをgithubっぽく表示

Markdown Previewを使いたくてAtomを入れたのだが、mdファイルのテーマそのままだったので、githubっぽく表示させるために以下の設定を行った。 設定 Atom > Preferences > Packages Input 'markdown-preview' to textbox and Enter Click 'Setting' button …

AtomをSublime Textっぽく使うための設定

いま使ってる Sublime Text と同じような環境になるよう Atom を設定した。パッケージなどの詳細は参考文献を参照。 インストールしたもの Packages minimap file-icons highlight-line atom-beautify linter term3 highlight-selected tag Japanese Wrap sh…