旅行好きなソフトエンジニアの備忘録

プログラミングや技術関連のメモを始めました

【統計】母欠点数に関する検定

ある製品を検査すると従来N個の欠点が見つかっていた。この対策が行われ、効果を検証するため製品をM個ピックアップしたところ、L個の欠点が見つかった。さて、欠点は減ったと言えるかどうか、というお題があって書籍「入門統計解析法」で調べると226ページ…

【C#】TimeSpanに割り算を適用する方法

C#

複数のTimeSpanの平均値を求めたかったため、TimeSpanに割り算を適用する方法を調べたのですが、以下のやり方で出来ることが分かりました。 // 60秒 var t1 = new TimeSpan(0, 0, 60); // Ticksに割り算を適用してTimeSpanのコンストラクタに入れる var t2 =…

【C#】動的にChartを追加する

円グラフを描きたいけれども、アプリを動作させてからでないと何個の円グラフを描くか決めれない状況のため、動的にChartを追加する方法を調べました。グラフを描くために使ったライブラリはLiveCharts.Wpfになります。 まずはxamlです。以下で定義したStack…

【Python】PCANetを試してみる

教師なし学習で画像の特徴量抽出を行う方法を調べていて以下を見つけたのでMNISTで試してみました。以下記事にgithubへのリンクがあるので、そこのpcanet.pyを写します。 qiita.com 写したpcanet.pyを使い、以下のmain.pyを書いて動作させれば特徴抽出⇒分類…

【PyTorch】モデルがevalモードの時にout of memoryが発生する事への対処法

PyTorchでモデルがtrainモードの時には発生しないのですが、evalモードの時にGPUのメモリが解放されないまま消費されていきout of memoryが発生していました。調べたところ、Variableにvolatileという引数があって、これをTrueにすれば良いよというアドバイ…

トランザクション分離レベルについて分かりやすく説明してくれてるサイト

Repeatable Readとか何のことか良く分かっていなかったのですが、下記サイトに助けられました。 qiita.com

【Python】不均衡な2クラスセグメンテーション問題に適用するロス関数のメモ

この論文で不均衡な2クラスセグメンテーション問題に適用するロス関数が提案されていたのでメモします。ディープラーニングを使ったセグメンテーションでデータが極端に不均衡(例えば画像のほとんどが0で、1はちょっとだけ)の場合、工夫をしないと学習が上…

【Python】How to generate one-hot encodings for an array in numpy? - 101 Numpy Exercises

Q: One-hot encodingを計算しなさい (Kerasのnp_utils.to_categoricalを使えば良いのですが、Keras使わない時のためのメモ) Input: arr = np.random.randint(1,4, size=6) arr #> array([2, 3, 2, 2, 2, 1]) Output: #> array([[ 0., 1., 0.], #> [ 0., 0., …

【Python】How to find the most frequent value in a numpy array? - 101 Numpy Exercises

Q: irisのpetal lengthで最も出現頻度が高い値を見つけなさい A: # Input: url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris = np.genfromtxt(url, delimiter=',', dtype='object') # Solution: vals, counts = np.u…

【Python】How to sort a 2D array by a column? - 101 Numpy Exercises

Q: irisデータセットをsepallengthカラムの値でソートしなさい A: url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris = np.genfromtxt(url, delimiter=',', dtype='object') names = ('sepallength', 'sepalwidth', '…

【Python】How to get the second largest value of an array when grouped by another array? - 101 Numpy Exercises

Q: setosaで二番目に長いpetallengthは何? # Input url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris = np.genfromtxt(url, delimiter=',', dtype='object') names = ('sepallength', 'sepalwidth', 'petallength',…

【Python】How to convert a numeric to a categorical (text) array? - 101 Numpy Exercises

Q: 以下のようにiris_2dの3番目のカラムをビニングしなさい 3より小さい --> 'small' 3-5 --> 'medium' 5以上 --> 'large' # Input url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris_2d = np.genfromtxt(url, delimi…

【Python】How to drop rows that contain a missing value from a numpy array? - 101 Numpy Exercises

Q: iris_2dからnanを含まない行だけ取り出しなさい # Input url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris_2d = np.genfromtxt(url, delimiter=',', dtype='float', usecols=[0,1,2,3]) A: # Input url = 'https:…

【Python】How to find the percentile scores of a numpy array? - 101 Numpy Exercises

Q: irisデータの"sepallength"の5~95パーセンタイルを見つけなさい A: # Input url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' sepallength = np.genfromtxt(url, delimiter=',', dtype='float', usecols=[0]) # Solut…

【C#】リストから指定した値に一番近い値を持つインデックスを取得する

C#

例えば以下のようなことがやりたく、普段for文を回してサーチしていました。 var list = new List<double>() { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 }; double value = 3.1; int index = FindClosestIndex(list, value); // 3.1に一番近い値は3.0。3.0のインデックスは2な</double>…

【Python】How to extract a particular column from 1D array of tuples? - 101 Numpy Exercises

Q: irisデータのspeciesカラムを取り出しなさい A: url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' iris_1d = np.genfromtxt(url, delimiter=',', dtype=None) species = np.array([row[4] for row in iris_1d]) specie…

【Python】How to print only 3 decimal places in python numpy array? - 101 Numpy Exercises

Q: 小数点を三桁のみ表示するようにしなさい A: # Create the random array rand_arr = np.random.random([5,3]) # Limit to 3 decimal places np.set_printoptions(precision=3) rand_arr[:4] #> array([[ 0.443, 0.109, 0.97 ], #> [ 0.388, 0.447, 0.191]…

【Python】How to swap two columns in a 2d numpy array? - 101 Numpy Exercises

Q: 変数arrのカラム0とカラム1を入れ替えなさい arr = np.arange(9).reshape(3,3) #> array([[0, 1, 2], #> [3, 4, 5], #> [6, 7, 8]]) A: arr = arr[:, [1, 0, 2]] #> array([[1, 0, 2], #> [4, 3, 5], #> [7, 6, 8]]) www.machinelearningplus.com

【Python】How to replace items that satisfy a condition without affecting the original array? - 101 Numpy Exercises

Q: 0~9の奇数を元の変数に影響を与えずに-1に変更する A: import numpy as np arr = np.arange(0, 10) arr_ = np.where(arr%2 == 1, -1, arr) www.machinelearningplus.com

【Python】KerasでMobileNetのモデルファイルを読み込む方法

KerasでMobileNetのモデルファイルを読み込もうとすると"Unknown activation function:relu6"といったエラーが出ます。このエラーへの対処はここに書かれており、以下のようにすれば大丈夫でした。 from keras.utils.generic_utils import CustomObjectScope…

【ディープラーニング】マシンビジョンにおけるディープラーニングのメリット・デメリット

最近以下の本を買って読んでみたのですが、各社事例の薄い紹介に留まっており、アルゴリズム等を説明しているわけではないためエンジニアには特に有用な本でないと思いました。 画像認識の極み?ディープラーニング" (映像情報MOOK)作者: 映像情報インダスト…

【機械学習】「仕事ではじめる機械学習」を読んでのメモ

1章 機械学習プロジェクトのはじめ方 1.2 機械学習プロジェクトの流れ 1. 問題を定式化する * ○○のために××が必要。そのために機械学習を利用する。機械学習が○○に貢献しているかどうかの判断として、□□をKPIとする 2. 機械学習をしなくて良い方法を考える …

【C#】Windows7で日本語音声合成する

C#

音声合成はSystem.Speech.SynthesisのSpeechSynthesizerクラスを使えば良いのですが、Windows7ではデフォルトで日本語対応しておらず、対応させるには非常に面倒そうでした。 結局ここに書いてあるように、Windows7ではSpeechLibを使うのが楽だと思います。 …

【Python】 ファイルの行数を数える

データがいくつ入っているのか数えたかったのですが、以下で簡単に行数を取得できました。 num_lines = sum(1 for line in open('myfile.txt')) ja.stackoverflow.com

【WPF】 PNG ⇔ BitmapSourceの変換

ここ(方法: PNG イメージをエンコードおよびデコードする)で調べました。 PNG ⇒ BitmapSource using System.IO; using System.Windows.Media.Imaging; public BitmapSource ReadPng(string pngPath) { var stream = new FileStream(pngPath, FileMode.Open…

【アイトラッキング】 アイトラッカーメーカー一覧

アイトラッカーを販売しているメーカーのメモです。以下に記事に加えて日本のメーカーを付け加えています。 imotions.com Tobii まず思い付くのがTobiiです。まぁ高いのですが、視線を解析しないのであればTobii Eye 4CをAmazonから購入すると安くすみます(…

【WPF】 StackPanelにアイテムを追加した時に自動でスクロールさせる

ScrollViewer内のStackPanelに画像を次々追加した時、何もしないとスクロールは一番上にありますが、これを こんな感じに自動でスクロールを一番下に持っていって欲しいという状況でした。 これを実現する方法は簡単で、画像を動的に追加した時にScrollViewe…

【アイトラッキング】 RGBカメラで視線計測できるサービス

iMotionsのブログで角膜反射法での視線計測と、ウェブカメラベースの視線計測が比較されていました。 imotions.com ウェブカメラベースの視線計測は角膜反射法と比較して精度が劣りますが、逆に精度が重要でなければ検討しても良いかもしれません。上記リン…

【Python】 実行スクリプトからの相対パスでファイルにアクセスする

以下のサイトに方法が書いてありました。 qiita.com

【Python】 PyTorchで自前のロス関数を定義する

Kerasと違ってPyTorchで自前のロス関数を定義するのは大変かなと思ったのですが、Kerasとほぼ同じやり方で出来ました。 #1. ロス関数を定義して def dice_coef_loss(input, target): small_value = 1e-4 input_flattened = input.view(-1) target_flattened …