機械学習

機械学習のモデルの比較について

精度の標本平均の差と、McMemar検定をすることで効果測定できそう。 machinelearningmastery.com hs-www.hyogo-dai.ac.jp

seaborn : barplot の xticks の調整が難しかった

seaborn の barplot を使っている時、1990~2020 年までのデータに不足があったので、間がとびとびのbarplotになっていた。 xticks(np.arange(1990, 2020)) とかで調整しようとすると、barが消えたりする。 不足分を補うことで、対応した。やむなし。idnex は…

特徴量の自動選択

xgboost の特徴量選択について、total_gain で特徴量の重要度を抽出。 programmer.ink datanerd.hateblo.jp

時系列の特徴量に三角関数が有効

sin などを使うことで、周期性を特徴量に入れれるらしい。 tbnsilveira.info isadoranun.github.io pandas.pydata.org

国際カンファレンス(ML)

行かなくても論文追ってみたい。 NIPS nips.cc ICML icml.cc

分類機を loss=BCE で予測するとき

0, 1 の分類器について、BCE で loss を計算すると、未来の確率の最尤は予測値となる。 def likelifood(x, n, n_1): return (x**(n_1)) * ((1- x) ** (n - n_1)) N = 100 N_1 = 80 x_list = [] for i in np.arange(0, 1.01, 0.01): xx = likelifood(i, N, N_…

異常検知の実装 tips

以下を見て、方法をまとめたい。明日移行。 scikit-learn.org https://fisproject.jp/2019/03/deep-learning-for-anomaly-detection-1/ deeplearning4j.org contamination: ノイズの割合を指定できるので、訓練データにノイズが有る場合は指定する。OneClass…

情報検索について

なんか FST辞書とか言うのがあるらしい。。Lucene ちゃんと見てみないと。 developer.hatenastaff.com あと、自然言語処理についてのよさげなスライドシェア。 大規模データ時代に求められる自然言語処理 from Preferred Networks www.slideshare.net

Regression の p-value と R2 score について

p-value は、説明変数の 係数が0である帰無仮説が棄却されるかどうか検定するもの。 なので、 - p-value が 0.05 (alpha) 以下の場合は、重要な特徴 - R2 score は、回帰モデル自体がデータをどれくらい性格に予測できているかを示す指標 blog.minitab.com

cohen_kappa_score について

以下のサイトが分かりやすい。他クラスのスコアのとり方で使用できる。 順序ごとに target label が貼られている場合、target をより ground truth より遠く推論したものにペナルティが加わる。 from sklearn.metrics import cohen_kappa_score from sklearn…

Yolo v3 での物体検出

Yolo v3 での物体検出を Pytorch で実装している。Kaggle 等で使えそう。 github.com pjreddie.com

Pytorch のコールバック関数

pytorch のcallback が実装されている。 pytorch.org 2年前の更新で止まっているが、便利。 github.com

機械学習・深層学習便利サイト

めちゃくちゃまとまっている。分かりやすい github.com

matplotlib の日本語変更

以下のコマンドでフォントがあれば、入れてみる。 print([f.name for f in matplotlib.font_manager.fontManager.ttflist]) 例えば from matplotlib import rcParams rcParams['font.family'] = 'IPAPGothic'

機械学習の計算対象が偏っているとき

基本的には、upsampling か downsampling か。大体の母分布がわかっている場合は、平均分散を用いて、augmentation するのもあり。 www.kaggle.com A systematic study of the class imbalance problem in convolutional neural networks from Yuya Soneoka …

pandas の 移動平均とかの計算に便利

# 移動平均。重み付けなし df.rolling(window=3).mean() # 未来永劫平均取る的な。 df.expanding(min_periods=3).mean() # 移動平均。重み付けあり。 df.ewm(com=0.5).mean() com : float, optional Specify decay in terms of center of mass, 𝛼=1/(1+𝑐𝑜𝑚),…

信号分析

フーリエ変換の関数。便利。 from scipy.fftpack import fft def get_fft_values(y_values, T, N, f_s): f_values = np.linspace(0.0, 1.0/(2.0*T), N//2) fft_values_ = fft(y_values) fft_values = 2.0/N * np.abs(fft_values_[0:N//2]) return f_values, …

テキスト分類のレポートライブラリについて

よくわからないが、テキストデータの分類のしやすさについてレポートを出してくれる。 github.com gensim.models.KeyedVectors.load_word2vec_forma は、crawl-300d-2M.vec (fasttext) のEmbeded を ロードしてくれる。 glove = '../../glove/glove.840B.300…

CNN の layer のイメージ(メモ)

keras のクラス名に準拠 GlobalAveragePooling は 各チャネルごとの平均値を 軸 0として1次元に出力 AveragePooingとの違いから、Global は 全特徴マップを一つに pooling するみたいな Flatten はただ、軸0 として1次元に並べる SeparableConv は、各チャネ…

バイナリ分類器の訓練と検証

ロジスティック回帰とXGB分類器のホールドアウト from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.neural_network import MLPClas…

stacking 分類用

# 複数のモデルの計算結果の傾向より、分類を予測するメタモデル from sklearn.base import BaseEstimator, TransformerMixin, ClassifierMixin, clone from sklearn.model_selection import StratifiedKFold class StackingAveragedModels(BaseEstimator, C…

pandas の Time Series の分析

towardsdatascience.com pandas.pydata.org stackoverflow.com statsmodel の分析も結構使えそう www.statsmodels.org

tffm レコメンド性能高そう

github.com $ pip install tffm order とかよく挙動がわからない。パラメータがあるけど。 この辺、レコメンドエンジンに使えそう。 from sklearn.model_selection import train_test_split X_tr, X_te, y_tr, y_te = train_test_split(df.values, df['tfidf…

LSTM を書いてみた

出典元)Python 機械学習プログラミング https://www.amazon.co.jp/dp/4295003379/ tar 解凍 import tarfile with tarfile.open('aclImdb_v1.tar.gz', 'r:gz') as tar: tar.extractall() ai.stanford.edu データ作成 import pandas as pd import os base_pat…

データ分析の流れ

準備 Prepare Problem a) Load libraries b) Load dataset Summarize Data a) Descriptive statistics b) Data visualizations Prepare Data a) Data Cleaning b) Feature Selection c) Data Transforms (Normalize,...) 分析 Evaluate Algorithms a) Split-…

Kaggle の過去問と解法集

Kaggle Past Competitions www.chioka.in github.com machinelearningmastery.com

python の future の使い方

import concurrent.futures import os score_list = [] def worker(my_random_seed): model = CatBoostClassifier( iterations=300, learning_rate=0.1, random_seed=my_random_seed ) model.fit( X_train, y_train, cat_features=cat_features, eval_set=(X…

機械学習の黄色本 について

機械学習の黄色本 www.amazon.co.jp https://www.amazon.co.jp/dp/4621061240www.amazon.co.jp Web PDF https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf 演習問題 (www) の解答 h…

emsembling の有名記事

Kaggle Ensembling Guide | MLWave github.com github.com

t-SNE の有名記事

github.com Comparison of Manifold Learning methods — scikit-learn 0.20.2 documentation distill.pub lvdmaaten.github.io t-SNE: The effect of various perplexity values on the shape — scikit-learn 0.20.2 documentation Interaction Practical Le…