クローリングした画像を整備する

前回の続きでアニメ画像データセットを整備した際のメモ. 今回はゴミとして, 3次元画像・漫画画風画像を自動で除去した. また, 顔でない画像などの微細なゴミは手動で除去した.1キャラクタのディレクトリの中に複数のキャラクタが含まれる問題では, 今回は手…

【Python】Wikipediaの表の特定の項目のみを取得

アニメ一覧表から各アニメのタイトル、各アニメの記事へのリンクの2要素のみを取得しCSVとして保存する場合 ja.wikipedia.org import requests from bs4 import BeautifulSoup import csv # スクレイピング対象の URL にリクエストを送り HTML を取得する re…

【Python】google-images-download の使い方

公式でエラー出るのでパッチの方をダウンロード 100件までしかダウンロードできないらしいが, 私の用途だと20件程度で良かったので今のところ十分. $ git clone https://github.com/Joeclinton1/google-images-download.git $ cd google-images-download $ s…

【確率統計】よく使われるもの

正規分布の最尤推定 1次元データにおける正規分布を当てはめたときの最尤推定の計算 尤度関数 対数尤度関数 で偏微分 で偏微分 Chebyshev不等式 を示す. したがって, これより, 大数の法則 Chebyshevの不等式から証明できる. Chebyshevの不等式の証明は次の…

【確率論】確率分布まとめ

Poisson分布 定義 導出 Poisson分布は二項分布の にして定義されている. 二項分布 積分 のマクローリン展開はよりであるから, 期待値 分散 を利用する. 積率母関数 マクローリン展開を利用する. 図 import numpy as np import matplotlib.pyplot as plt impo…

【PyTorch】DataLoaderで(images, labels)だけでなく(images, labels, paths)をロードできるようにする

まずglob.glob()を用いて, すべての画像データのパスを保持したリストを作る. def make_datapath_list(phase="train"): rootpath = "./data/" target_path = os.path.join(rootpath, phase, "**", "*.jpg") # 最初の**はクラスのディレクトリ path_list = []…

UbuntuでLoLをプレイ

ゲームは基本的にWindowsでやるものだが, Linuxでもプレイすることができる. Ubuntu18.04 LTSで動作を確認している.手順としてはLutrisをインストールし, LutrisのWEBページからLeague of Legendsをinstallする. # Ubuntu の場合 $ sudo add-apt-repository …

【TeX】独立記号を自作してみた

LaTeXでグラフィカルモデルなどで用いる_||_という記号の定義 \newcommand{\indepe}{\mathop{\perp\!\!\!\perp}} \newcommand{\notindepe}{\mathop{\perp\!\!\!\!\!\!/\!\!\!\!\!\!\perp}}

物体認識を試す

ImageNetにおける物体認識をしたいとする. 通常ならイチからモデルを組み, データを入手し, 学習させ……という作業が必要なわけだが, ディープラーニングのフレームワークKearsならこれが簡単にできる. さらに, VGGやResNet, Xception, MobileNetなど自宅の計…

k-NN法をフルスクラッチ実装

今日はk-NN法(k-NearestNeighbor)を実装する. k-NN法の概念 k-NN法は教師データから未知データを予測する教師あり学習の一つで, また, 線形回帰などのようにパラメータを最適化するような手法を取らない. すなわち, 「教師データから識別境界のようなものを…

最小二乗法を実装する

予測モデルをつくるときに最も簡単な方法としては「最小二乗法による線形モデル」と「k近傍モデル」である. この2つは統計学や機械学習を学んでいない人でも割と思いつきそうな方法である. 線形モデルとはパラメータに対して線形なモデルという意味である. …

convert コマンド よく使う操作

画像のリサイズ a.pngを指定した高さ/幅に同一比のまま縮尺拡大したb.pngを出力する. # 幅に合わせる convert -resize 640x a.png b.png # 高さに合わせる convert -resize x640 a.png b.png a.pngという画像を640px * 640pxのb.pngに変換する. convert -res…

【環境設定】pyenvを入れる

qiita.comUbuntu 18.04 LTSの場合は.bash_profileではなく.bashrcに書き込む $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc $ source …

【環境設定】ubuntu 18.04 LTSにslackを入れる

slackのデスクトップアプリケーションを, dpkgでインストールする方法 単純にslackのwebサイトからダウンロードして $ sudo dpkg -i xxx.debとやったらlibappindicator1が無いみたいなエラーがなされたので, $ sudo apt --fix-broken install $ sudo apt ins…

【環境設定】ubuntu18.04のproxy関連設定

aptの設定 自宅でインストールしたubuntuをプロキシ環境下にあるネットワーク環境に持っていったとき, システム全体のプロキシ設定でブラウジングなどできたので, apt installなどできると思っていたが別に設定しないといけないらしい. 参考にしたのはこれ u…

【環境設定】Ubuntu 18.04LTSでCtrl + Spaceで変換する

mozcを起動してデフォルトでHankaku/Zenkakuの項目をメモして 全く同じものをCtrl+Spaceに置き換えてエントリーを追加すればよい. mozcを閉じるときに「設定は新しいアプリケーションから適応されます」的なことを言われたので, 新しいアプリを起動して試し…

【環境設定】ubuntuのCapsLockをCtrlに変更する

linuxfan.info sicklylife.hatenablog.com

【環境設定】ubuntuにGPUドライバを入れる

自分のノートPCにubuntu 18.04 LTSを入れて, GPUドライバがデフォルトでIntelの内蔵のグラフィックドライバになっていたため, NVIDIAのに変えた. ここを参考にしたらスンナリできた. taktak.jp $ ubuntu-drivers devices $ sudo ubuntu-drivers autoinstall …

【urllib】プロキシ設定

proxyの使い方メモ keras.datasets.mnist.load_data()とかしたいときに, プロキシを通す方法 import urllib proxy_support = urllib.request.ProxyHandler({'https': 'http://proxy.hogehoge.ac.jp:80'}) opener = urllib.request.build_opener(proxy_suppor…

【Python】matplotlibで最低限のグラフをかけるようにする

TeXで表示させるため, グラフが必要な時期になってきた. Pythonで最低限のグラフを描画する方法をメモ. sigmoid関数のプロット import numpy as np import matplotlib.pyplot as plt # 関数定義 x = np.linspace(-8, 8, 100) y = 1/ (1+np.exp(-x)) # 垂直線…

【Python】 pythonからshellの実行

Pythonからshellコマンドを実行する際に以下のようなやり方がある. 今回は次のshellコマンドをpythonで実行するやり方を比較する. $sha256sum hoge.zip #返り値: xxxxxxxxxxx hoge.zip os.system()を使う方法 import os file_name = "hoge.zip" os.system('s…

【TeX】 ページを跨いで表を表示する

TeX

longtable.styを使う \newcolumntype{A}{>{\raggedright}p{0.3cm}} \newcolumntype{N}{>{\raggedright}p{3.6cm}} \newcolumntype{D}{>{\raggedright}p{10.0cm}} {\footnotesize \begin{longtable}[c]{|A|N|D|} \hline No & permission-name & Description \t…

【Python】 再帰的にファイルを取得する

import os def find_all_files(directory): for root, dirs, files in os.walk(directory): #yield root # ここをアンコメントするとディレクトリも得られる for file in files: yield os.path.join(root, file) if __name__ == "__main__": path_directory …

【Cygwin】 ホームディレクトリを変更する

Cygwinのterminal上ではなく, ホストOSであるWindowsの環境変数を設定する必要があるそう. デスクトップ上にCygwinのホームディレクトリを置きたい場合 環境変数名: HOME パス: /cygdrive/c/Users/username/Desktop のようにWindowsの環境変数を設定する.

【Python】 confusion_matrtixの作り方

seabornのheatmapによって表現できる. import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # scikit-learnのconfusion_matrixクラスで b = np.array([[251, 22, 1, 3, 0, 1, 3, 16, 24], [ 8, 459, 0, 2, 0, 1,…

【データ分析】 特徴量の相関関係の図の見方

図[2][4]は正の相関関係があるとわかる. 図[1][1]は緑と赤の分布がほぼ同じであり, 分離が厳しいことがわかる. 図[0][1]でも混じっている. これを処理するためには, SepalWidthCm特徴量を削除したり工夫する必要がある.

【pandas】 DataFrameの操作について

Irisで試す # データCSVの読み込み iris = pd.read_csv("input.csv") # データのある特徴列を削除する iris.drop("Id", axis=1, inplace=True) # 同データのカウント # ”Species”という特徴列の名義特徴量の種類をそれぞれカウント iris["Species"].value_co…

【Python】 Jupyter notebookで実行に影響のない警告は無視する

warning.filterwarning("ignore")により警告を無視して進めることができる. import warnings warning.filterwarnings("ignore")

特徴量の削除

violinplotによって特徴量の分布が同じようなときjointplotによって, それらの特徴量の相関関係を調べる. 実際に相関係数の絶対値が1に近づいたらどちらかの特徴量を学習から削除することができるそう. 上図で2つの特徴量の分布が同じようなのでjointplotを…

【seaborn】 plotについて

seabornライブラリでデータを可視化したい場合, BoxplotとViolinplotなどがある. ラベルAとラベルBの正規化, 標準化済の特徴量3つをとってきて比較することに用いられる. Boxplotでは下図のような図をプロットでき, 中央値などがわかりやすい. (図引用: http…