If you are not redirected automatically, follow this link/a>.
昨日は Python のウェブフレームワーク Flask で簡単な応答システムを作りました。これだけだとあまりに退屈なので、せっかくですから NumPy を利用して少しは楽しめるものを作ってみたいと思います。 「ガチャ」とは、最近流行のソーシャルゲームやオンラインゲームにおいて 1 回課金することによってアイテム等をランダムに入手できる仕組みのことです。 10 連ガチャとは 1 回の試行で 10 回分のレアガチャを引く仕組みのことです。基本無料を謳うソーシャルゲームなどでは、このようなアイテム課金で利益を得る仕組みになっています。 シミュレーションの目的としては、運営サイドとしてはプレイヤーがじゃぶじゃぶ課金したくなるような射幸心を煽りまくるガチャが提供できているかどうか確認する、プレイヤーサイドとしてはリアルマネーいわゆる実際のお金を投入する前にあらかじめどれくらいの確率で成功するのかを
Python標準にも random というモジュールがあるが、ベクトル演算の可能な numpy のほうが「大量に乱数を生成してなんかの処理をする」という場合に高速に動く。あと分布関数が山ほど用意されている。 一様乱数 numpy.random.rand() で 0〜1 の一様乱数を生成する。引数を指定すれば複数の乱数を生成できる。乱数の範囲を変えたい場合は後からベクトル演算をすれば良い。 from numpy.random import * rand() # 0〜1の乱数を1個生成 rand(100) # 0〜1の乱数を100個生成 rand(10,10) # 0〜1の乱数で 10x10 の行列を生成 rand(100) * 40 + 30 # 30〜70の乱数を100個生成 from numpy.random import * """ 標準正規分布。いわゆるガウシアン。標準正規分布ならば
NumPy 配列の基礎¶ ここでは,NumPy で最も重要なクラスである np.ndarray について, 本チュートリアルの方針 の方針に従い,最低限必要な予備知識について説明します. np.ndarray は, N-d Array すなわち,N次元配列を扱うためのクラスです. NumPy を使わない場合, Python ではこうしたN次元配列を表現するには,多重のリストが利用されます. np.ndarray と多重リストには以下のような違いがあります. 多重リストはリンクでセルを結合した形式でメモリ上に保持されますが, np.ndarray は C や Fortran の配列と同様にメモリの連続領域上に保持されます. そのため,多重リストは動的に変更可能ですが, np.ndarray の形状変更には全体の削除・再生成が必要になります. 多重リストはリスト内でその要素の型が異なることが許
仕事で使うデータではガウシアンフィッティングなんかをする機会が多いので、試しにpythonで書いてみました。 手順は、 みたいな理想曲線に適当にノイズをランダムに加えて、フィットするべきデータ点を作る 生成したデータ点をフィットする 結果を、理想的な曲線、生成されたデータ、フィットされた結果の曲線、という感じでプロットする フィットされた結果のパラメータの値と、その誤差を標準出力に書き出す っていう感じです。 では、早速ですが、コードを適当に載せてみたいと思います。もっと良い方法がある、おかしい、とかあったら教えてもらえるとありがたいです。自分の場合は、main.pyとかいうファイルに書いてますが、まあこれは何でもいいと思いますね。 #!/usr/bin/env python import math, numpy, scipy.optimize import matplotlib.pypl
numpy.cumsum# numpy.cumsum(a, axis=None, dtype=None, out=None)[source]# Return the cumulative sum of the elements along a given axis. Parameters: aarray_likeInput array. axisint, optionalAxis along which the cumulative sum is computed. The default (None) is to compute the cumsum over the flattened array. dtypedtype, optionalType of the returned array and of the accumulator in which the elements ar
Return a sample (or samples) from the “standard normal” distribution.
#coding:utf-8 import numpy as np import matplotlib.pyplot as pylab #平均 mu1 = [-2,-2] mu2 = [2,2] #共分散 cov = [[2,1],[1,2]] #500はデータ数 x1,y1 = np.random.multivariate_normal(mu1,cov,500).T x2,y2 = np.random.multivariate_normal(mu2,cov,500).T #グラフ描画 #背景を白にする pylab.figure(facecolor="w") #散布図をプロットする pylab.scatter(x1,y1,color='r',marker='x',label="$K_1,mu_1$") pylab.scatter(x2,y2,color='b',marker='x',labe
工学の博士です。ここ数年、開発にpythonを使っています。pythonはライブラリも豊富で使いやすいと思います。しかし、ハマってしまうときはあるので、自分自身への備忘録を兼ねて、コツを紹介します。 モンテカルロ計算を考えてみます。 統計を含め、科学技術計算には、numpyが使えます。 行列操作ができ、乱数や確率に関するライブラリが豊富です。 numpyは数値計算用のライブラリであり、 中身の逆行列計算などのアルゴリズムはCなどで書かれています。 そのため、うまく書けばpythonとは言えども高速な計算が可能です。 モンテカルロと言うのはモナコにある町の名前です。 計算機科学の世界でいういわゆるモンテカルロ法というのは確率的なサンプリングを行うことによって、計算を行うことを指し、 フォンノイマンによって命名されたと言われています。 今回はnumpyで簡単なモンテカルロ計算を行います。 nu
引き続きnumpyの使い方をごにょごにょ勉強していきます. numpyには様々な便利関数が用意されています. ツールとして便利に使えるようにするため,どのような関数が用意されているのかを把握することは重要です. 詳細はリファレンスページを見てもらうとして,どのような場面で使えそうな関数があるかをまとめてみます. 前回はファンシーインデックスと言いましたがあまり書くことがなかったのでかえましたw 目次 大別すると,次のような感じでしょうか. 数学関数 線形代数 論理関数 日付関数 統計関数 経済関数 その他 またnumpyには通常の関数とは別にndarrayと親和性の高いユニバーサル関数という関数があります. こちらについてもちょっと説明します. ではいきます. 数学関数(Mathematical Function) リファレンスはこちら. リファレンスによると,次のようなカテゴリに分けられ
Pythonで一番有名で普及しているライブラリと言っても過言ではない「Numpy」の覚書きです。かなり多機能な数値計算ライブラリで、内部はC言語で記述されているため超高速に動作します。 ベクトル ベクトルの長さ&正規化 import numpy a = numpy.array([[2,2]]) #ベクトルの長さ length = numpy.linalg.norm(a) #length=>2.8284271247461903 #ベクトルの正規化 a / numpy.linalg.norm(a) #=>array([[ 0.70710678, 0.70710678]]) 内積&外積 import numpy v1 = numpy.array((1,0,0)) v2 = numpy.array((0,1,0)) #内積 numpy.dot(v1,v2) #=> 0 #外積 numpy.cros
【やりたいこと】 資料を見ながら統計学のお勉強。 Pythonで一元配置分散分析(1way -ANOVA)を実装する。 実はScipyでは関数として用意(scipy.stats.f_oneway)されていたりするが、手順を確認するために自分で実装する。 注.F分布からp値を求める部分が抜けているので、F値を求めた後は、ユーザが自分でF分布表を参照する必要がある。 なお、利用するデータは、先ほども貼ったこちらのリンクのものを利用する。 【サンプルコード】 This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals h
Ohotech勉強会で発表した時のスライドです. プレゼンでは主に実演に時間を割いていたので, 詳細はブログの方に記載したいと思います. 一ヶ月以内にブログの方にまとめておきます. Read less
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く