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

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

Python

ニコニコデータセットを使ったタグ解析

皆さんこんにちは お元気ですか。私は元気です。さて、今日はニコニコデータセットを使って、面白いことができるのではないかなと考えてみました。 まぁ内容はニコニコ動画の動画データです但し、2013年まで 出現タグランキング! #coding:utf-8 import json…

Pythonのリストをコピーする。知らないと結構困るかも!?

皆さんこんにちは お元気ですか。私は元気です。が。。。。酒飲むと寝れないね。C++だと関数への引数の指定でコピーだが参照渡しだが、ポインタを決めることができます。 int add(a,b){ a = a + b; } int add(&a,b){ a = a - b; } このような例の場合、上記…

Pythonで桁あわせをするには…

皆さんこんにちは お元気ですか。私は元気です。さて、今日はPythonでの桁合わせです。皆さんこんなことはないですか・・・?1とか2を0001とか0002で表示をしたい・・・・ もちろんできます! Pythonでも Int型 >>> "{0:04d}".format(1) '0001 因みに以下の…

Sklearnを使った機械学習

皆さんこんにちは お元気ですか。私は元気です。さて、今日はSklearnを使ってみたいと思います。 Sklearnとは? Pythonで使える機械学習のライブラリです。 インストールですが、以下のとおり sudo pip install scikit-learn How to Use 基本的に殆どの機械…

【ネタ】アッカーマン関数によるプログラミング言語最速決定戦?

皆さんこんにちは おげんきですか?私はげんきです。本日は最速決定戦やります。いやはやC++がはええええとかいいつつ 他の言語どうだっけなんて思う常日頃です。 エントリー 6つの言語で行いました C++,Java,PHP,Python,Ruby,Javascript 種目 アッカーマン…

もう怖くないPythonの順番変更

皆さんこんにちは お元気ですか。私は元気です。 なんかLineのネタ記事が大盛況…少々驚きです。さて、本日はPythonのsortedメソッドについて 皆さん、listの内容の順番を並び替えたいこと、ありませんか?そんな時にこの関数を利用して、順番を変更すること…

PyQt ボタンクリックによるイベント動作

皆さんこんにちは お元気ですか?私は普通に生きています。さて、今日はPyQtにてボタンクリックによる動作を実行したいと思います。まずはサンプルコードを御覧ください。 #coding:utf-8 import PyQt4.QtCore as QtCore import PyQt4.QtGui as QtGui import …

Pythonのデコレータ

皆さんこんにちは お元気ですか?私はお酒をのむぞおおおおおさて、デコレータと呼ばれるPythonの機能について お話したいと思います。 デコレータとは? 関数を修飾してくれるPython独特の機能ですね もうこれ、例ないと意味不明でしょう。 因みに@helloが…

PyQtのインストール

皆さんこんにちは お元気ですか?私は元気です。さて、今日はPyQtのインストールです。 PyQtとは、QtをPythonで扱うためのライブラリです。なぜか、結構手こずったので、残しておきます。 SIPとqtが必要です。qt4(1) インストールについて - のんびりしてい…

最急降下法(機械学習のパラメータを求めるのに使います)

皆さんこんにちは お元気ですか?私は元気です。さて、本日は最急降下法について 最急降下法 関数(ポテンシャル面)の傾き(一階微分)のみから、関数の最小値を 探索する勾配法のアルゴリズムの一つ。勾配法としては最も単純であり、 直接・間接にこのアル…

Python numpyとwaveライブラリを利用したwaveファイルの読み込み

皆さんこんにちは お元気ですか?私は眠いさて、音声関係のファイルですね。 Pythonではwaveファイルを読み込み、書き込みするようなライブラリが予め用意されています。 さっそく使ってみましょう。 サンプルソースコード #coding: utf-8 import wave impor…

Python debugツール ipdbの紹介

皆さんこんにちは お元気ですか?私は日々rarejobで英語を磨いています。さて、本日はPythonのデバッグツール ipdbをご紹介させて頂きます。 ipdb インストール sudo pip install ipdb 実際の動作 とりあえず、このプログラムを動作させてみましょう。 因み…

Django(3) Djangoからデータベースを弄ってみよう

皆さんこんにちは お元気ですか?ええ、数学って難しいですよねさて、久しぶりにDjangoについて前回の記事は以下Django(2) アプリケーションを作ろう。 - のんびりしているエンジニアの日記今回はデータベースを触ってみよう まずsettings.pyを編集しますDAT…

Python Numpy(2)行列演算

皆さんこんにちは お元気ですか?私はサンプルコード実行して死にそうです。さて、本日はPython Numpyについて今日は、行列周りのことをやります! How to Use 行列演算 通常の四則演算です。 >>> import numpy as np >>> a = np.array([[2,3,4],[5,6,7],[3,…

Theano 関数でグラフを書くための準備(Failed to import pydotなんていわれたくない)

皆さんこんにちは お元気ですか。私は元気です。さて、本日はTheanoで関数のGraphを書きましょう。 Printing/Drawing Theano graphs — Theano 0.6 documentation因みに必要なライブラリがないとサンプルコードは動きません。それらから解決していきましょう…

OpenCV-Python(1) カメラ、画像の開き方

皆さんこんにちは お元気ですか?暑いですね。最近今までC++でOpenCvをいじっていましたが、今回はPythonから弄ってみましょう。 (使っているけど遅くて泣きそう) どうやって使うの? numpy入れたら勝手についてきます。 入れていなければ、Opencvはもちろ…

Python プロファイラを取得しよう

皆さんこんにちは お元気ですか?最近お金が吹っ飛びます。さて、本日はプロファイラの取得についてPython では初期からcProfileと呼ばれるプロファイラが入っています。 これを使うと、プロファイルを取得でき、関数が何回呼ばれたとかがわかるようになりま…

Python クラスやインスタンスのメソッドを調べる時のdirの薦め(※ディレクトリではありません)

皆さんこんにちは お元気ですか。私はどうやら腹痛のようですさて、この記事ではdir()と呼ばれる関数をご紹介します。端的に言うとdir()を使うとそのクラスの持つメソッドや属性の一覧を表示することができます。例をあげてみます。 >>> a = 10 >>> dir(a) […

python map reduce filter(lambda演算)

皆さんこんにちは お元気ですか?私は元気です。さて、今回はmap,reduce,filterを行います。 その前にlambdaから lambda演算とは? もともとはLispからきたそうな 関数型言語の表現としてラムダの記法を使う習慣から来ているらしい。一言で言うとよくわから…

PythonからMeCabをさわろう(形態素解析)

皆さんこんにちは お元気ですか。私はどうにもこうにも元気です。さて、本日はMeCabについて MeCabとは MeCabって? オープンソースの形態素解析エンジンで、奈良先端科学技術大学院大学出身、現GoogleソフトウェアエンジニアでGoogle 日本語入力開発者の一…

Python Sympyについて

皆さんこんにちは お元気ですか。私は元気です。さて、本日はSympyと呼ばれるPythonのライブラリについてうん、実は偶然見つけたんだ Sympyとは プログラミング言語Pythonで記号計算を行うためののライブラリです。 なんか微分とか色々やってくれるらしいで…

機械学習 クラスタリングアルゴリズム、K平均法(Kmeans)

皆さんこんにちは お元気ですか?私は元気です。6/11:ソースコード訂正さて、今回は機械学習のアルゴリズムのうちクラスタリングアルゴリズムで有名である K平均法について取り扱って見ようと思います。 クラスタリングアルゴリズムって? データがあり、そ…

Python エラーコードまとめ(KeyError,TypeError,AttributeError,InportError,IndexErrorなど)

皆さんこんにちは お元気ですか。プレゼン資料作るのって結構めんどくさいですね。さて、本日はエラーについて Pythonにも様々なエラーがありますがだいたいは決まっています。そんなエラーの原因をご紹介します。 ImportError: No module named そんなモジ…

Python numpyの使い方(1) ベクトルの生成方法・演算・主なベクトルオブジェクトの属性など

こんばんは お元気ですか?私は元気です。本日はNumpyの使い方について Numpyとは? http://www.numpy.org/より科学計算の為の基本的なパッケージだそうです 特徴として①array objectが提供されている(np.array) ②洗練された関数 ③C++やFortranのコードが…

Deep Learning Tutorials Denoising AutoEncoder編

皆さんこんにちは お元気ですか。私は非常に眠いです。はよ寝ろよってことか?さて、本日はDeepLearningTutorialのDenoising AutoEncoderの解説(?)もとい勉強メモを書きます。 AutoEncoder 端的に申しますと、AutoEncoderとは生データから自動で特徴量を…

Python リスト内包表記

皆さんこんにちは お元気ですか?私は元気です。さて、リスト内包表記と呼ばれる機能がついている。 配列生成 C++の配列の中身を作るときはこんな感じ a[100]; for(int i = 0; i < 100; i++){ a[i] = i; } これをPythonで書くとこうなります。 a = [] for i …

Deep Learning Tutorials Logistic Regression編

皆さんこんにちわ お元気ですか。私は元気です。Theanoの使い方って難しいですよね。そして、Deep Learning Tutorialsも難しい。 そんな僕のメモ代わりに解説でもしていきたいなと思います。 間違ってたらご指摘ください。今回はこちらのLogistic Regression…

Python Theanoの使い方(自動微分:Grad、関数:Function,乱数:RandomStream)

こんにちわ お元気ですか?私は元気です。さて、本日はTheanoについて Theanoとは? Deep Learningを実装するために作られたPythonのライブラリなのかな… 色々計算するのに便利です。 特徴 ①科学技術計算ライブラリNumpyの使用(numpy.ndarray) ②GPUの使用…

Python osを使ったファイルの動作、操作。パスの操作などなど

皆さんこんにちわ お元気ですか?私はきついです。さて、Pythonにはosと呼ばれるライブラリが存在しています。 研究する時にファイル分割してトレーニングとテストを探すとかやったりしますね。 割と大事です。以下の動作は一部分です。他にもありますが、こ…

Django(2) アプリケーションを作ろう。

皆さんこんばんわ。 お元気ですか?私は元気です。さて、今回はDjangoのプログラムを弄って Hello Worldでも出しましょうか。 インストールしてない方は前回の記事をご覧ください。 アプリケーションを作る。 manage.pyがあるディレクトリで以下のシェルコマ…

PythonのWebフレームワーク Django(1)インストール方法

皆さんこんにちわ お元気ですか?私はおなかがすきました。用心棒いきたい。本日はDjangoを紹介したいと思います。 DjangoとはPythonで実装されたWebフレームワークです。Ruby on railsと同様の物です。Pythonの中では最も有名なのかな。 僕はC++と同じぐら…

PythonとC++速度比較(1)配列っぽいものを作ろう。append,vector,array,matrix,list編

皆さんこんにちわ お元気ですか?私はお酒飲みたいです。Pythonで書いたコードがあるのですが、実行時間が遅すぎて結果がかえってこないのです。 このコードどうすれば速くなるかを考えました。Pythonの部分をC++で書き直すだけでも速くなるはず… C++とPytho…

boost::python(6) pyublasを利用したnumpy.arrayとの連携方法

皆さんこんにちわ。 お元気ですか?私は眠いんです…。本日も相変わらずBoost::pythonについて 特にPythonの科学技術計算ライブラリnumpyのarray型を扱ってみたいと思います。 C++ #include <Python.h> #include <numpy/arrayobject.h> #include <boost/python.hpp> #include <pyublas/numpy.hpp> using namespace std; using names</pyublas/numpy.hpp></boost/python.hpp></numpy/arrayobject.h></python.h>…

Boost::python(5) pyublasのインストール

皆さんこんにちわ。 お元気ですか?私は焼きそばつくって満足しました。さて、本日はscipyをboost::pythonで使用する準備をしたいと思います。 boost::python とnumpy,scipyを互換するライブラリ、pyublasがあります。少々手こずったので、インストール方法…

Boost::python(4) クラスの継承と多重継承

こんにちわ 皆さんお元気ですか?私は金欠です。さて、今回もBoost::python。 どうやらもう4回目、今回はクラスの継承、多重継承についてやりましょう。さて、クラスの継承はこう書きます。 クラスの継承 C++ #include <boost/python.hpp> class Foo{ public: int temp; void v</boost/python.hpp>…

Boost::python(3) pythonの辞書型(dict)、listで返す方法

皆さんこんにちわ お元気ですか?さて、本日もBoostしようか。 本日はlistとdictについてさて、実はboost::pythonはvectorとかmapではなく、pythonの型に直して返すことができます。 こいつらです。 >>> a = [1,2,3,4] #list >>> b = {"foo","bar"} #diction…

boost::python(2) STLの活用 vectorとmap(Suiteも活用)

こんにちは 皆さんお元気ですか?私は面白い遊びを探しています。さて、先日に引き続きboost::pythonについて 本日はC++のSTLについて取り扱ってみたいと思います。さて、STLを使用する時に普通のものと違い少々めんどくさくなります。 通常の実装方法 C++ #…

boost::python(1) classと関数の使用方法(PythonからC++の呼び出し)

皆さんこんにちわ。 お元気ですか?私は用心棒と呼ばれるラーメン屋にいって満足しました。元気です。本日はboost::pythonのお話です。 boost::pythonとはC++クラスや関数をラップするPythonモジュールを簡単にかけるようなライブラリです。 Python.h を使っ…

boost インストールから実行(boost::python)まで。

皆さんこんにちわ。 お元気ですか?私は疲れました。本日はboostについてboostとは「C++の先駆的な開発者のコミュニティ、及びそのコミュニティによって公開されているオープンソースライブラリのことを指すそうです」。(Wikipedia) boostの中にはファイル…

Python(インストールとpipの使い方)

皆さんこんにちわ お元気ですか?私は微妙です。というか眠いです。さて、本日はPythonについて このPython色々と便利なのです。僕は研究の時の行列計算などに利用しています。 使いやすい上に、計算自体の速度もそこそこ出るからです。ただ、通常のループで…