RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 Python

pythonのnumpyで遊ぶ

投稿日:

異常に奥が深いnumpyで遊びましょう!!

import numpy as np

配列の形状変換

a = np.arange(int(np.floor(np.random.rand()*1000)))
for i in range(1,len(a)+1):
     if len(a) % i == 0:
             np.reshape(a, (i,-1))

速度測定

def test(n):
    return sum(range(n))

import timeit
timeit.timeit('test(100)', globals=globals(), number=1000)

amaxとmaxの比較

>>> timeit.timeit('np.amax(a)', globals=globals(), number=1000000)
3.069760522001161
>>> timeit.timeit('np.max(a)', globals=globals(), number=1000000)
3.094179121999332

環境と調子次第で0.3s(10%)くらい変動するのが気になる。

whereの楽しい使い方

a = np.arange(12).reshape((3, 4))
b = np.reshape(a, (3, 4))
c = b ** 2
np.where(b % 2 == 0, b, c) # bが偶数でないときはcが出てくる

TransposeとTを科学する

a = np.arange(120).reshape((1,2,3,4,5))
# a.T = a.transpose(4,3,2,1,0)
b = np.arange(120).reshape((2,3,4,5))
# b.T = b.transpose(3,2,1,0)
c = np.arange(24).reshape((2,3,4))
# c.T = c.transpose(2,1,0)

位置関係が逆転する訳だ

楽しい図形描写

import matplotlib.pyplot as plt
x = np.linspace(-50, 50, 100000)
y = np.tan(x)
plt.plot(x, y)
plt.show()


tan()は何かかっこいい

from scipy.special import expit
x = np.linspace(-10, 10, 100000)
y = expit(x)
plt.plot(x, y)
plt.show()

sigmoid 関数は神(神経科学的な意味で)

x = np.random.randint(1000, size = 10000)
y = np.sin(x)
plt.scatter(x, y)
plt.show()


謎の模様・・・なぜだ?自己組織化に関連しているような・・・。

import numpy as np
import matplotlib.pyplot as plt
for i in range(1, 20):
  n = i * 100
  x = np.random.randint(n, size = 10000)
  y = np.sin(x)
  plt.scatter(x, y)
  plt.title("n = " + str(n))
  plt.show()

やばい(ヤバい)

-Web制作, Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[Python:Predict Gollira]2枚の画像でどちらがゴリラっぽいかを人間が予想する。

「あーこの人ゴリラっぽい。」と思うことはありませんか? ゴリラっぽさってどこから来るんだろうかと悩んでいました。 前回、[Python] ディープラーニングのモデル「VGG16」を使って画像認識をし、 …

[Meisyo+] リリース前準備完了

名将と呼ばれた者達+の機能があらかた実装できました。 現在はゲームバランス調整のために、試合や練習などの状況を確認している最中です。 β版リリース日を8/28目安にしています。 よろしくお願いいたしま …

[Meisyo]投手交代アルゴリズムの変更

要望 投手起用と代打について現状自分は投手起用をこんな感じにしていて 代打は6回以降にしたいのですが投手の数の関係で9回以降に代打を起用された場合に野手が登板することになり困っています。代打起用を何回 …

[Python]グリッドサーチを軽量化し、チューニングしたパラメータも反映する機構を作る

パラメータチューニング方法であるグリッドサーチ、 確かに自動で実行してくれて、すごく便利なのですが問題点があります。 めっちゃ時間がかかる もし、下記のパラメータ設定のモノを全てグリッドサーチしようと …

no image

[PHP]ベンチマークサイトの紹介

あなたは表示速度が「速い」サイトと「遅い」サイト、どちらがいいですか? 「速い」サイトの方がいいですよね! 「速い」サイトは「速くする」関数の使い方が上手です。 PHPのベンチマーク(いろいろな関数の …