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

メールアドレスが公開されることはありません。

関連記事

[Meisyo]速球の地位向上

[Meisyo]ビッグデータから学ぶ試合の基礎設計4から早4か月。 「速球の上方修正してほしいな」というコメントが届きました。 すみません! 制球に比べ、速球は蔑ろにされてきたことはわかっております。 …

[Meisyo]各選手の試合成績の追加

試合成績を追加しました。 んーでもこれ・・・スマホだと右端見えるのか?

Windows10(32bit)でのC言語およびC++のコンパイラ「MinGW」のインストールとテスト

32bitのWindows10環境でCとC++を開発するためのコンパイラ「MinGW」のインストールを行います。 私も初心者ですが、簡単にインストールできました! 日付:2018/09/09 OS:W …

Windows(64bit)環境でgccコマンドを使うためのMinGW-W64インストール

Windows10(64bit)環境でgccコマンドを使いたいということで、MinGWのインストールを行います。MinGWはコンパイラ(解読機)であり、プログラム言語であるC言語やC++の開発にも使用 …

TensorFlowまで到達

ちょいちょい数式に詰まりながらも、DeeplearningのフレームワークTensorFlowの学習まで漕ぎ着けました。 一番困ったのは「説明無しで数式使うよ!」 マジやめてください・・・まあ勉強する …