のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

Python

Hyperoptを使った、関数の最適化

皆さんこんにちは お元気ですか。私は元気です。本日はhyperoptと呼ばれるライブラリを紹介したいと思います。 KaggleのForamで時々あがっていたので、気になっていました。 Hyperoptについて What is Hyperopt? hyperoptはTree-structured Parzen Estimator…

ChainerをUbuntu14.04を使ってGPUで動かしてみる

皆さんこんにちは お元気ですか。私は元気です。本日は、ChainerのGPU設定を行っています。 なぜか、GPUの設定をすると毎度、毎度苦労することになります。 pip install chainer-cuda-deps このコマンドで実行できるとありますが、たいていの人のところでは …

Recurrent Neural Networkについて調査してみた

皆さんこんにちは お元気ですか。私は自由に元気です。今日はRecurrent Neural Networkについて見て行きたいと思います。 Recurrent Neural Network Recurrent Neural Networkは通常のネットワークと異なり、時系列が考慮されているニューラルネットワークで…

マルコフ連鎖で自動的に文章を生成してみた

皆さんこんにちは お元気ですか。私は二郎食べたいと思ったり、思わなかったりです。今日はマルコフ連鎖を使って、文章の自動生成を行いたいと思います。 マルコフ連鎖とは? マルコフ連鎖は、一連の確率変数 X1, X2, X3, ... で、現在の状態が決まっていれ…

ChainerでCIFAR-10の分類を行ってみる

皆さんこんにちは お元気ですか。私は元気です。前回はChainerの紹介をしました。機械学習ライブラリ Chainerの紹介 - のんびりしているエンジニアの日記nonbiri-tereka.hatenablog.com 本日はこのChainerを使って、CIFAR-10の分類を行ってみようと思います…

機械学習ライブラリ Chainerの紹介

皆さんこんにちは お元気ですか。私は元気です。Chainerと呼ばれる機械学習ライブラリを紹介しようと思います。 Chainerについて Chainerとは? ChainerはPreffered Networksが開発したニューラルネットワークを誤差伝播で学習する ライブラリです。(Python)…

Scikit learnで行う文章の特徴ベクトルの抽出

皆さんこんにちは お元気ですか。私は元気です。今日は、Scikit learnを使って、お手軽に文を特徴ベクトルに変換してみます。 どんな時に使うのか? ある文章、例えば、This is a pen(①)とThat is a pen(②)を機械学習で学習させるとき、 基本的に文字を…

Scikit-learnのモデルをまとめてみた

皆さんこんにちは お元気ですか。私は元気です。今日はScikit-learnで扱えるモデルについて紹介したいと思います。気が向いたら追加します。 ※Sampleは割りと公式サイトのを少々改変したもの使っていたりします。ご了承ください。 モデル全般について Parame…

Cythonを使って、Pythonを高速化してみよう①:インストール

皆さんこんにちは お元気ですか。私は元気です。最近、このブログの色がPythonに傾きつつあるようなないような。 今日はCythonをご紹介したいと思います。 Cythonとは? C言語によるPythonの拡張モジュールの作成の労力を軽減することを目的として開発された…

PythonでPickleを使ったデータ保存

皆さんこんにちは お元気ですか。私は元気です。今日はPickleを使ってみます。Pickleを使うとデータを文字でファイルに保存することができます。 これをすると、どうなるかって? 例えば途中の計算結果を自分のクラスごと保存することができるといったことが…

PyPyのインストール

皆さんこんにちは お元気ですか。TOEIC終わって疲れた。本日はPyPyについて What is PyPy(パイパイ) Pythonの実装の一つでございます・JIT コンパイラで動く為、高速。CPythonの代わりを目指したんだとかなんとか ・RPythonで書かれているとか(Wikipedia…

FrickrのAPIで画像を探してダウンロードする

皆さんこんにちは お元気ですか。私は元気です。今日はFrickrのAPIの画像検索を紹介したいと思います。 Frickrのデータ取得方法 準備するもの API Keyの獲得が必要です。 そのためには、Yahoo!への登録とAPIKeyの取得の申請が必要です。 コードをかくにあた…

Python リファクタリングに使えるCloneDigger

皆さんこんにちは お元気ですか。私は元気なのか・・・? TOEICのリベンジを果たす時が来るのだろうか。さてと、今日はリファクタリングに使えるソフトであるCloneDiggerを紹介したいと思います。 一言でいうと、ソフトウェアのクローンコードを検出=類似コ…

Scikit-Imageのインストールと画像表示

皆さんこんにちは お元気ですか。私は修論という壁に殺されそうでございます。最近は画像日和なので、今日はScikit-Imageを使ってみましょう。 Scikit-Imageとは 画像処理に関するアルゴリズムを集めたライブラリです。 無料で扱うことができて、ボランティ…

Pythonで並列分散処理(multiprocess)

皆さんこんにちは お元気ですか。私は元気です。さて、今日はPythonで並列分散処理を行ってみましょう 今回使うライブラリはmultiprocessです。まずは、引数を与えて出力をしてみましょう。 最も単純な例 #coding:utf-8 import multiprocessing import os de…

Pylearn2のインストール(OS:Mac10.9 Marvericks)

皆さんこんにちは お元気ですか。私は元気です。今日はPythonを使ってDeepLearningを動かすpylearn2をインストールしてみました。なかなか手こずりました 事前準備 さて、事前にインストールしなければいけないソフトウェアが5つあります。 PIL PyYAML IPyth…

PythonのTupleに代入ができないことを初めて知ったこの秋

皆さんこんにちは お元気ですか。私は筋肉痛です。PythonのTupleについてのお話 Opencvだと色をTuple形式で記載したりしますが(255,20,0)みたいな形式で計算でもして後で代入しようと思ったらエラーが出ました。tupleってこんなのです (1,2,3) 因みにエラ…

Pythonで使うrangeとxrangeについて

皆さんこんにちは お元気ですか。私は元気です。さて、今日はrangeとxrangeについて見てみましょう。 さて、Pythonを使う人であれば、この2つよく使いますよね Pythonでよく見るコードはこちらです。 for i in xrange(100): print i もちろんrangeで書く人…

Pythonで演算をするときはnumpyを使いましょう

皆さんこんにちは お元気ですか。私はそこそこ元気です。さて、今日はnumpyをオススメしたいと思います。 皆さんリスト内の合計を求める時、どうしていますか? こんなコードを書いていないでしょうか・・・・・・? for i in xrange(N): sum += list[i] こ…

Python リスト追加についての速度比較(append,内包表記など)

皆さんこんにちは お元気ですか。私は元気です。 実は情報技術者試験が終わったんです。ひゃっほー …受かってそうにないのはまた別のお話さて、今日は便利なPythonのリストについての速度を比較してみましょう 皆さんこんなコードありませんか list = [] for…

Pythonでテストをしてみよう(unittest)

皆さんこんにちは お元気ですか。私は元気です。本日はunittestについて勉強してみましょう。 unittestとはPythonでのテストのライブラリです。JUnitとかCppUnitが親戚に当たりますね。Pythonでは標準についているので、昨日使ってみるとかなり便利でした。…

アニメの顔写真をBag of Keywordsで分類してみた

皆さんこんにちは お元気ですか。私は眠いです。書いている時間が深夜なんて言えない。さて、今日はアニメの顔写真を分類してみます。 画像認識の分野において結構メジャーな手法であるBag of Keywordsを使います。 Bag of Keywordsの概要 Bag of keypoints,…

PythonでコマンドラインをParseしよう(OptParse)

皆さんこんにちは お元気ですか?眠いんですよおおおおさて、プログラムを書いた時にコマンドラインを解析したいと思ったことはありませんか? 私は有ります。通常のコマンドラインからの入力を取り込むには、sys.argvを利用すればできます。こんな感じ pyth…

Pipを使ったら変なエラーが出たよ!(unknown argument: '-mno-fused-madd')

皆さんこんにちは お元気ですか。私は元気です。今日、Pythonでpipを使ってライブラリを入れていたのですが、以下の様なエラーが出ました。泣きそう。 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-fu…

PythonでHtmlを解析する(BeautifulSoupを使って)

皆さんこんにちは お元気ですか。私は元気です。さて、今日はBeautifulSoupを使ったhtmlの解析をしたいと思っています。 インストール sudo pip install beautifulsoup BeautifulSoupを使って解析する #coding:utf-8 import BeautifulSoup import urllib2 op…

Pythonでニコニコタグ解析、ネットワーク作ってみた

皆さんこんにちは お元気ですか。私は元気です。今回もニコニコタグ解析をやってみようと思います。最近ですが、タグでネットワークを構築してみました。 見た目が悪すぎて泣きそう。皆どうやって作ってるの。ネットワーク。まぁ一応作ってみたので公開して…

ニコニコデータセットでタグ一覧を作る

皆さんこんにちは お元気ですか。私は元気です。今から実家に帰ります。前回、ニコニコ動画データセットの集計を行いました。 今回はそのニコニコデータセットでタグの一覧を作ってみましょう。 import json import gzip import os import sys def createWor…

MySQLをPythonから弄る

皆さんこんにちは お元気ですか。私は元気です。さて、今まで掲載していた記事では全てConsoleから弄っていたのですが、 プログラムできないと不便でございます。MySQLをプログラムから弄ることができます。さて、必要なパッケージをpipを使ってインストール…

Pythonで可変長引数(*args,**kargs)

皆さんこんにちは お元気ですか。私は・・・・・いやあ実家涼しい素晴らしい。Pythonの可変長引数について記載します。 可変長の引数を実装する方法が2つあります。一つは変数に*を戦闘につけることによってTuple型として渡すことができます。 例題は以下の…

Pythonのネットワーク、グラフ解析 Network-Xを使って・・・

皆さんこんにちは お元気ですか?私はフリーダム生活です。お盆休み近くて少々嬉しい本日はネットワークXについて NetworkXはグラフやネットワーク解析のライブラリです。実はにこにこタグネットワークでもつくろうかなと考えていたりいなかったりということ…