Python

詳解 確率ロボティクス 2.3 確率モデル

前回の投稿に引き続き,詳解 確率ロボティクスの2.3 確率モデルを通して学んだことやコードを実行してみた結果のメモです.この投稿はGithubでもご覧になれます(こちら). ガウス分布*は(例えば)センサ値zがa以上b未満()に入る確率を ここで, を表し…

詳解 確率ロボティクス 2.2 度数分布と確率分布

UASの自律飛行にあたって,ロボティクスに興味を持ちました.上田隆一先生の書籍 詳解 確率ロボティクスが出版され,非常に分かり易そうだったので,詳解 確率ロボティクスの2.1センサデータの収集とJupyter Notebook場での準備,2.2 度数分布と確率分布を通…

Tello Programming 006 -Telloの状態確認(LED)-

Telloには機体前方のカメラ横にLEDがついています.このLEDの点灯,点滅パターンはTelloの状態を表します.LEDの状態は通常,警告,充電の3つに分けることができます.トイドローンなので,LEDの点滅,点灯からしか状態を把握することができませんが,何か異…

Tello Programming 005 -Scratchでプログラミング Test Flight 01-

これまでに数回に分けて,TelloをScratchでプログラミングする準備やテストを行ってきました.これまでの投稿は以下のようになります. Tello Programming 000 -Tello本体の準備- Tello Programming 001 -プログラミングの準備(macOS)- Tello Programming …

Tello Programming 004 -Scratchでプログラミング-

TelloをScratchで動かすには, ・Scratchオフラインエディター(現在、Ver.2.0) ・Node.js ・Adobe AIR が必要です.これらのセットアップに関しては,過去の投稿(macOS編,Windows編)を参照して下さい.また,Scratchの基本についても過去の投稿を参照し…

Tello Programming 003 -Scratchの基本-

前回(Windows),前々回(Mac)でTelloをプログラミングによって飛行させるためにScratchのセットアップを行いました.以下は,Scratchの基本についてのメモです. 前回(Windows),前々回(Mac)はデスクトプエディター(オフラインで利用できるScratch)…

Tello Programming 002 -プログラミングの準備(Windows)-

前回,macOS環境でのプログラミングの準備に関して投稿しました. 今回は,Windows環境でのセットアップについてのメモです. まずは,macOSの場合と同様にAdobe Airをインストールします.こちらからAdobeAIRInstaller.exeをダウンロードして実行します. …

Tello Programming 001 -プログラミングの準備(macOS)-

RYZE Telloの特徴的な機能の一つにプログラミングによる自動飛行が可能なことが挙げられます.Telloは「Scratchを使ってプログラムか可能」というのが教育用途にも適していることが一つのウリになっているようです. なお,Scratchとは,一般的なプログラミ…

Tello Programming 000 -Tello本体の準備-

TelloはDJIから発売されている200g未満*のドローンです.公表されている資料によると 重量:80g 飛行時間:13分 カメラ:500万画素 となっています. * 200g未満のドローンは航空法の適用を受けません. 標準ではプロポは付属しておらず,スマホ等で専用アプ…

-Python- 主成分分析

主成分分析に関するメモです. 主成分分析を行うには scikit-learn パッケージを使用して,sklearn.decomposition の PCA でインスタンスを生成します. 以下の例では,Davis データを用いて主成分分析を行っています. Davisデータ(Davis.csv)はJupyter N…

-Python- 交差検証法によるテスト誤差の推定

K重交差検証法によってテスト誤差を推定する際のメモです. K重交差検証法の計算プロセスは以下のようになります. 学習方法と損失:チューニングパラメータをもつアルゴリズム,損失 入力:データ 入力データを要素数がほぼ等しいK個のグループに分割する.…

損失関数,トレーニング誤差,テスト誤差

データ数を20,10組のデータセットに対してトレーニング誤差をプロットした際の実装例のメモです. まずはパッケージを読み込みます. >>> import numpy as np >>> import matplotlib.pyplot as plt >>> import scipy.stats >>> パラメータ範囲を設定します…

-Python- 共分散,相関係数

Pythonのnumpyのnp.covやnp.corrcoefを使い,データから標本共分散,標本相関係数を求める例のメモです. 関数には, データの次元 x データ数 のサイズのデータ行列を入力します. >>> import numpy as np >>> from sklearn.datasets import load_iris >>> …

期待値と分散

Pythonでは,確率分布からデータを生成するための関数 np.random や scipy.stats として提供されています. サンプルの生成で使うのは,以下のような関数です. 正規分布 np.random.normal(loc = 0.0, scale = 1.0, size = None) オプションのlocは期待値,s…

-Python- サイコロ投げ

等確率で出るサイコロの目をPythonで再現するには,ランダムに要素を取り出す関数 np.random.choice を用います. >>> import numpy as np >>> np.random.choice(np.arange(1, 7), 10) array([5, 6, 3, 2, 1, 4, 3, 3, 2, 2]) >>> np.arange(1, 7) は,標本…

-Julia- 平均の計算

Juliaで平均の計算を行ってみた際のメモです.実行例はREPLで行なった結果です. まずは相加平均(算術平均)についてです. 1〜10までの整数の和の平均を求めてみます. 総和は`sum()`関数を用いて求めます. julia> x1 = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7…

-Python vs Julia- 整数の乱数を発生させる

過去にPythonを用いて整数の乱数を発生させるコード例を投稿しました. その中では,20回サイコロを振ることを想定して,整数の乱数を発生させるに,Pythonで以下のように書きました. >>> import numpy as np >>> np.random.choice(np.arange(1, 7), 20) ar…

-Python vs Julia- 配列についてについての比較

Python言語とJulia言語の比較を行った際のメモです. 今回は,配列についての比較です.比較を行った環境はPythonはver 3.6.6,Juliaは ver 1.1.0です.比較はREPLで行い,プロンプトが" >>> "となっているものはPythonでの実施で," Julia> "となっているも…

-Python vs Julia- 数値と文字列についての比較

Python言語とJulia言語の比較を行った際のメモです. 今回は,数値と文字列についての比較です.比較を行った環境はPythonはver 3.6.6,Juliaは ver 1.1.0です.比較はREPLで行い,プロンプトが" >>> "となっているものはPythonでの実施で," Julia> "となっ…

-macOS- PythonとJupyter Notebookのインストール

以前は,Anacondaをインストールして,PythonとJupyter Notebookを使用していたのですが,Anacondaは重たく,パッケージのアップデートが上手くいかないので,インストール方法を変更してみました. インストールは全て,ターミナルから行います. Command L…

-macOS- ターミナルに(base)と表示される

Anacondaのアップデートなどをした後に,ターミナルを立ち上げると以下のように(base)という表示が出るようになってしまいました. (base)Computer Name:~ User Name$ *上記のComputer Nameは,持ち主のコンピュータの名前が,User Nameにはユーザー名が入り…

-Python- PyMC3のインストール

macOSにPyMC3をインストールした際のメモです.開発はAnaconda > Jupyter Notebookで行なっているので,ターミナルから以下のように入力します. $ conda install PyMC3 すると,以下のようにインストールが始まります. Collecting package metadata: done …

Python3のインストール

macOSをMojevaにアップデートした際に,Python3をインストールしていなかったので,Python3のインストールに関するメモです. Homebrew,Xcode(Command Line Tool)がインストールされている前提です. ターミナルから,以下のコマンドを実行します. $ bre…

-Keras- Keras のテスト

Keras が動作するかをテストしてみます.テストはJupyter Notebookを使って行います. テストには,keras 作者の Fchollet さんが用意してくれている exapmle で MNIST データセット*を学習するもの mnist_cnn.py **を一部変更して試します. 実行結果は以下…

-Keras- Windows10にTensorFlow と Keras をインストール

セットアップ作業の中心となるのが Anaconda Prompt です. Windows のメニューの Anaconda3 (64-bit) のところに Anaconda Prompt がありますので起動します. 今回は mykeras という名前の環境を作ってそこにセットアップしてみることにします.Anaconda P…

-Python- Seabornのインストール

Pythonにおいて,簡単に可視化,描画できるライブラリとしては Matplotlibがよく用いられます. Seabornは,Matplotlibのデザイン部分を強化するための可視化ライブラリの一つです(Seabornの公式ドキュメント).また,統計処理を考えて作成されています. …

-Python- Jupiter notebook のエラー 'AttributeError: type object ‘IOLoop’ has no attribute ‘initialized’'

ターミナルから jupyter notebook を起動しようとするとエラーが発生することがあります. エラーメッセージは,以下の通り. AttributeError: type object 'IOLoop' has no attribute 'initialized' これは,pyzmqとtornadoのバージョンが競合していること…

-Python- Jupyter notebookのフォントを変更する

Jupyter notebookのデフォルトのフォントは等幅ではないので,普段等幅フォントでコードを書いていると,違和感を覚えます. デフォルトのフォントを変更するには custom.css (ファイルはデフォルトでは ~/.jupyter/custom/custom.css にあります) に以下…

-Python- 順列,組合せ

順列,組合せの計算例を以下に示します. 計算例は,REPLで実行しています. 順列 1, 2, 3 の3つのすべての並べ方は, 通りとなります. 順列を求める時には,itertoolsのpermutationsを利用します. >>> import itertools >>> seq = (1, 2, 3) >>> list(ite…

二項分布

Pythonで二項分布のグラぷをプロットすることを考えてみます. 二項分布の確率質量関数は となるので,以下のように実装してみます. xlist = pd.Series([comb(float(M), x) * mu ** x * (1 - mu) ** (float(M) - x)\ for x in range(0, mu+1)]) グラフにプ…