Skip to content

Instantly share code, notes, and snippets.

Avatar

Katsuhiro Morishita KatsuhiroMorishita

View GitHub Profile
@KatsuhiroMorishita
KatsuhiroMorishita / matrix.vba
Last active Dec 15, 2021
VBAで行列計算を行う様々なコードを実装しました。足し算、引き算、掛け算、転置、単位行列作成、掃き出し法、逆行列、水平結合、疑似逆行列、行列式、型変換、セルからのデータ読み込みと書き出しです。個人的には、もうVBAを触りたくないので封印したい。笑
View matrix.vba
Function matrix_plus(m1, m2)
' 行列同士の足し算
ans = m1 ' 同じ大きさのオブジェクトを生成
For i = 0 To UBound(m1)
For j = 0 To UBound(m1(0))
ans(i)(j) = m1(i)(j) + m2(i)(j)
Next j
Next i
matrix_plus = ans
End Function
@KatsuhiroMorishita
KatsuhiroMorishita / vector.vba
Last active Feb 19, 2017
VBAで実装したベクトルの関数群です。基本的な計算なら対応しています。足し算、引き算、スカラー倍、内積、外積、ノルム、正規化です。
View vector.vba
Function vector_plus(vect1, vect2)
' ベクトルの足し算
ans = vect1 ' deep copy (たぶん、ディープコピー)
For i = 0 To UBound(ans)
ans(i) = vect1(i) + vect2(i)
Next i
vector_plus = ans
End Function
@KatsuhiroMorishita
KatsuhiroMorishita / newton.vba
Created Feb 19, 2017
VBAでニュートン法を実装した例です。
View newton.vba
Function my_func(x)
' とある関数(数学)の計算結果を返す
my_func = 100 * x ^ 2 + 50 * x - 500
End Function
Function diff(x, dx)
' 1階微分の結果を返す
diff = (my_func(x + dx) - my_func(x)) / dx
End Function
@KatsuhiroMorishita
KatsuhiroMorishita / 機械学習環境の作り方 ver 2017-02.md
Last active Jul 20, 2017
この資料は、2017-03-10に開催されるKIS主催の機械学習勉強会の環境構築ガイドです。ここに紹介しているものを全て使う訳ではありませんが、インストールしておくと便利だと思います。
View 機械学習環境の作り方 ver 2017-02.md
@KatsuhiroMorishita
KatsuhiroMorishita / scoring.py
Last active Mar 15, 2017
数値計算の計算結果を評価するPythonスクリプトです。
View scoring.py
"""
数値計算の計算結果を評価する
"""
def flatten(foo):
""" 多次元配列を1次元配列に変換する
"""
series = []
for mem in foo:
if isinstance(mem, list):
View kerasを使った機械学習環境の作り方.md

ここでは、機械学習の勉強会で使う環境の作り方について説明しています。 もしWindowsの作業途中でエラーが出てしまった場合はノート もご覧ください。

注意

Pythonはバージョン3.6.xの64 bit版をインストールして下さい。

Pythonとエディタのインストール for Windows

@KatsuhiroMorishita
KatsuhiroMorishita / multi_regression_data_creator.py
Last active May 18, 2017
重回帰分析に利用できるサンプルデータを自動的に生成する。
View multi_regression_data_creator.py
# purpose: 重回帰分析用のサンプルデータを自動的に作成する
# author: Katsuhiro Morishita
# created: 2017-05-18
# license: MIT
import numpy as np
size = 5 # 説明変数の数
def ndarray2str(val):
""" ndarray型の変数を文字列に変換する
@KatsuhiroMorishita
KatsuhiroMorishita / vitervi_test3.py
Last active Aug 21, 2021
ビタビアルゴリズムに基づくデジタルデータの符号化・復号のサンプルコードです。デジタルデータを符号化したい、復号したい場合にお使いください。main関数内のcircuitという関数の実装を変更すれば様々な符号化器を試せます。なお、現状では復号時にレジスタの全パターンを生成していますのでマイコンでは動作しないと思います。また、連続動作時の高速化の余地もたくさんありますが、軽くググった感じでは歴史のあるアルゴリズムの割にヒットしないので有用かと思います。学習用にどうぞ。
View vitervi_test3.py
# ビタビアルゴリズムに基づくデジタルデータの符号化・復号のサンプルコードである。
# memo: 半端かもしれないが、クラス化した。
# 現状ではストリームデータには対応していないが、拡張は簡単だと思う。
# ref. http://www.mobile.ecei.tohoku.ac.jp/lecture/coding/coding_06.pdf
# author: Katsuhiro Morishita
# created: 2017-06-12
# lisence: MIT
import copy
import numpy as np
@KatsuhiroMorishita
KatsuhiroMorishita / wave_split.py
Last active Jun 22, 2017
waveファイルを一定時間ごとに切断して別のファイルとして保存するPythonのスクリプトです。今思うと、いきなり全部のデータをメモリ上に読み出さなくても良かったんですが、まぁ良いですよね?(笑)
View wave_split.py
# waveファイルを一定の時間毎に切断する
# author: Katsuhiro Morishita
# created: 2017-06-21
# lisence: MIT
import glob
import wave
import os.path
term = 60.0 # 切断後のファイルの時間幅[s]
@KatsuhiroMorishita
KatsuhiroMorishita / label2value.py
Last active Jul 18, 2017
機械学習用のデータセットに含まれるラベルを整数に置換します。 「美味しい」・「不味い」とかを数値にします。 いわゆる、カテゴリデータ(質的変数)の数値への変換です。 ラベルを特徴量に含むデータに対してお使い下さい。 なお、このWebサイト( http://noumenon-th.net/programming/2016/04/21/df/ )にあるようにpandasにも変換機能はあるのですが、列を指定する必要があったり浮動小数点に変換されるなど場合によっては不都合があります。 その点でこのモジュールは有用だと思います。ただし、順序(例:上手い・普通・下手)は考慮しませんのでご注意下さい。
View label2value.py
# purpose: 機械学習用のデータセットに含まれるラベルを整数に置換する
# author: Katsuhiro Morishita
# created: 2017-07-11
# license: MIT
import sys
import pandas as pd
import math
import numpy as np