keras の history plot と 移動平均

history plot acc = history.history['acc'] val_acc = history.history['val_acc'] loss = history.history['loss'] val_loss = history.history['val_loss'] epochs = range(1, len(acc) + 1) plt.plot(epochs, acc, 'bo', label='Training acc') plt.plot…

statsmodels で季節性のトレンドを見る

import warnings import itertools import numpy as np import matplotlib.pyplot as plt warnings.filterwarnings("ignore") plt.style.use('fivethirtyeight') import pandas as pd import statsmodels.api as sm import matplotlib matplotlib.rcParams['…

dig コマンドの詳細

dig コマンドについて、nslookup の代替ぐらいに考えていたけど、詳細を調べてみた。 japanrock-pg.hatenablog.com

statsmodels の summary の t について

どうやら、tは 標本分布を t分布と仮定した際の coef=0 の T の値っぽい。 t が 0から遠ければ遠いほど、coef が 0でない確率が高い。要は相関がある。 from patsy import dmatrices import statsmodels.api as sm df = sm.datasets.get_rdataset("Guerry", …

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

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

ga の report api

developers.google.com www.lifedesignedit.com

Sparse データの次元圧縮

どうやら、普通のPCAは使えないっぽい。MFとかTruncartedSVD とか使えばいいのか。 >>> from sklearn.decomposition import TruncatedSVD >>> from scipy import sparse as sp >>> X = sp.rand(1000, 1000, density=0.0001) >>> clf = TruncatedSVD(100) >>>…

MySQL5.7 の truncate テーブルでのバグ

truncate が止まる。system lock で止まって以下が出る。 ... ------------------------------------- INSERT BUFFER AND ADAPTIVE HASH INDEX ------------------------------------- ... InnoDB: ###### Diagnostic info printed to the standard error st…

Python の keras で画像を見る

pillow と plt と keras より。 import pandas as pd import numpy as np from IPython.display import display, HTML from pandas.tools.plotting import table import matplotlib.pyplot as plt import seaborn as sns import scipy.stats as st import wa…

MySQLのテーブル情報一覧

コレで確認。INFORMATION_SCHEMA を探せばいろいろ何とかなりそう。 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'db_name';

stacking 分類用

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

MySQLの レプリケーション遅延について

SQL

MySQL が System lock で kill しても KILLEDから繊維しなかった。 # slave の状況 show slave status\G # transaction SHOW ENGINE INNODB STATUS\G # pid の確認 SELECT trx_started,trx_query,trx_rows_locked FROM information_schema.INNODB_TRX; souda…

pandas で Excel をimport する時、文字列が数字になった

以下で実装 項目名 型 code str score float df = pd.read_excel('./score.xlsx', dtype={'code': str,'score':float}) dic = pd.Series(df['score'].values, index=df['code']).to_dict() dic['123'] # --> 1.5

線形回帰の指数関数

# Y = alpha + beta * x # 下の式を上に変換 # y = a * exp(b * x) # Y = log(y), a = exp(alpha), b = beta x = np.array([-2.1, -1.3, -0.4, 0.1, 0.6, 1.2, 1.6, 1.9]) y = np.array([0.5, 0.7, 1.0, 1.5, 3.2, 4.6, 5.0, 6.8]) Y = np.log(y) s_cov = np…

Python の線形回帰(信頼区間95 %)

アットマーク@ は .dot() の代わりらしい(内積)。 np.array([1,2]) @ np.array([2,3]) 単回帰について from sklearn.linear_model import LinearRegression X = np.array([167, 168, 168, 183, 170, 165, 163, 173, 177, 170]) y = np.array([59, 58, 65, …

χ二乗検定と独立性の検定

from scipy import stats, integrate l = np.array([4,4,22,26,36,45,39,21,16,4]) score_l = np.arange(5, 105, 10) # 標本平均と不変標本分散 mu = (l * score_l).sum() / l.sum() sigma2 = ((l * ((score_l-mu)**2)).sum() / (l.sum()-1)) # 確率プロット…

python の仮説検定

a = np.array([70, 69, 72, 74, 66, 68, 69, 70, 71, 69, 73, 72, 68, 72, 67]) b = np.array([69, 72, 71, 74, 68, 67, 72, 72, 72, 70, 75, 73, 71, 72, 69]) a.mean(), b.mean() # (70.0, 71.13333333333334) sgm = (a.var() * len(a) + b.var() * len(b)…

信頼区間の コード

import numpy as np from scipy import stats import statsmodels as sms # 例 a = np.array([12.7,6.6,5.6,14.3,11.4,10.8,13.8,11.2,10.0,12.8,7.1,14.0]) # 正規分布の標本と仮定したときの、母平均の信頼区間 sigma = np.sqrt(dev / len(a)) stats.norm.…

クラス別の割合

クラス別の割合について、seaborn のこれ使ったら便利 import pandas as pd import seaborn as sns # バイオリンプロット sns.violinplot(x = 'target', y = 'rate', data = df) # 箱髭プロット(直感的な図だが、詳細が不明) sns.boxplot(x = 'target', y …

Mysql 5.7 で 767 byte 以上のインデックスが貼れた

longtext にインデックスを貼ろうとしていた。 alter table `table` add index `index_name` (`name`(256)); 以下がでなかった Specified key was too long; max key length is 767 bytes なるほど mysql> SHOW GLOBAL VARIABLES LIKE 'innodb_large_prefix%…

コサイン距離系

コサイン類似度を求めるためには、 sklearn.metrics.pairwise.cosine_similarity の方。 sklearn.metrics.pairwise.cosine_similarity — scikit-learn 0.20.3 documentation docs.scipy.org

python で memory の状況を取得

psutil は標準ライブラリではないので、pip install する。 from psutil import virtual_memory def get_mem_available(): mem = virtual_memory() print("{} GB".format(mem.available / (1024 ** 3))) get_mem_available() stackoverflow.com

systemctl の service の編集

以下の方法で、vi でも systemctl の設定を編集できる # systemctl stop app@service # export SYSTEMD_EDITOR="/usr/bin/vi" # systemctl edit --full app@service enakai00.hatenablog.com

pandas の full outer join

df = pd.DataFrame(np.random.randint(0,100,size=(3, 4)), columns=list('ABCD')) df['_index'] = 1 pd.merge(df[['_index', 'A']], df[['_index','B']], how='outer', on='_index') df.drop(columns=['_index'], inplace=True) stackoverflow.com

get_dummies を逆変換する方法

In [1]: import pandas as pd In [2]: s = pd.Series(['a', 'b', 'a', 'c']) In [3]: s Out[3]: 0 a 1 b 2 a 3 c dtype: object In [4]: dummies = pd.get_dummies(s) In [5]: dummies Out[5]: a b c 0 1 0 0 1 0 1 0 2 1 0 0 3 0 0 1 In [6]: s2 = dummies.…

curl で timeoutしたときのトラブルシューティング

以下のコマンドで一旦確認。 アプリケーションがある場合 curl -v http://... telnet telnet XXX.XXX.XXX.XXX 443 # 接続成功 telnet XXX.XXX.XXX.XXX 443 Trying XXX.XXX.XXX.XXX... Connected to XXX.XXX.XXX.XXX. Escape character is '^]'. # 接続失敗 t…

pandas の Time Series の分析

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

ネットワークの bottleneck 診査

likegeeks.com

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…

MySQL のテーブル更新情報

information_schema.tables に色々情報詰まってそう mysql> SELECT TABLE_NAME,UPDATE_TIME FROM information_schema.tables WHERE TABLE_SCHEMA = 'dbname'; +---------------------+---------------------+ | TABLE_NAME | UPDATE_TIME | +---------------…