Skip to content

Instantly share code, notes, and snippets.

View KatsuhiroMorishita's full-sized avatar

Katsuhiro Morishita KatsuhiroMorishita

View GitHub Profile
@KatsuhiroMorishita
KatsuhiroMorishita / matrix.vba
Last active April 4, 2023 13:52
VBAで行列計算を行う様々なコードを実装しました。足し算、引き算、掛け算、転置、単位行列作成、掃き出し法、逆行列、水平結合、疑似逆行列、行列式、型変換、セルからのデータ読み込みと書き出しです。個人的には、もう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 February 19, 2017 08:15
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 February 19, 2017 08:17
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 July 20, 2017 06:34
この資料は、2017-03-10に開催されるKIS主催の機械学習勉強会の環境構築ガイドです。ここに紹介しているものを全て使う訳ではありませんが、インストールしておくと便利だと思います。
@KatsuhiroMorishita
KatsuhiroMorishita / scoring.py
Last active March 15, 2017 00:04
数値計算の計算結果を評価するPythonスクリプトです。
"""
数値計算の計算結果を評価する
"""
def flatten(foo):
""" 多次元配列を1次元配列に変換する
"""
series = []
for mem in foo:
if isinstance(mem, list):

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

注意

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

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

@KatsuhiroMorishita
KatsuhiroMorishita / multi_regression_data_creator.py
Last active May 18, 2017 07:04
重回帰分析に利用できるサンプルデータを自動的に生成する。
# 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 August 21, 2021 14:06
ビタビアルゴリズムに基づくデジタルデータの符号化・復号のサンプルコードです。デジタルデータを符号化したい、復号したい場合にお使いください。main関数内のcircuitという関数の実装を変更すれば様々な符号化器を試せます。なお、現状では復号時にレジスタの全パターンを生成していますのでマイコンでは動作しないと思います。また、連続動作時の高速化の余地もたくさんありますが、軽くググった感じでは歴史のあるアルゴリズムの割にヒットしないので有用かと思います。学習用にどうぞ。
# ビタビアルゴリズムに基づくデジタルデータの符号化・復号のサンプルコードである。
# 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 June 22, 2017 16:05
waveファイルを一定時間ごとに切断して別のファイルとして保存するPythonのスクリプトです。今思うと、いきなり全部のデータをメモリ上に読み出さなくても良かったんですが、まぁ良いですよね?(笑)
# 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 July 18, 2017 11:58
機械学習用のデータセットに含まれるラベルを整数に置換します。 「美味しい」・「不味い」とかを数値にします。 いわゆる、カテゴリデータ(質的変数)の数値への変換です。 ラベルを特徴量に含むデータに対してお使い下さい。 なお、このWebサイト( http://noumenon-th.net/programming/2016/04/21/df/ )にあるようにpandasにも変換機能はあるのですが、列を指定する必要があったり浮動小数点に変換されるなど場合によっては不都合があります。 その点でこのモジュールは有用だと思います。ただし、順序(例:上手い・普通・下手)は考慮しませんのでご注意下さい。
# purpose: 機械学習用のデータセットに含まれるラベルを整数に置換する
# author: Katsuhiro Morishita
# created: 2017-07-11
# license: MIT
import sys
import pandas as pd
import math
import numpy as np