有料課金しているWebサービス一覧 (Aug, 2018)
自分の家計簿管理のために列挙してみる。
Service Name | Price(tax included) | Unit |
---|---|---|
日経Wプラン(宅配 + 電子版) | 5,900円 | 月 |
Amazonプライム | 3,900円 | 年 |
Github for Developer | $84.00 | 年 |
Google Drive 100G | 2700円 | 年 |
DAZN | 1,890円 | 月 |
もっとあるかと思ったけど、意外と少なかった。
「スタバなう」ツイートの画像は本当にスタバか、CNNで判定してみた
はじめに
Twitterで1日に一度くらいは「スタバなう」という投稿を目にする気がします。ただし大抵はキラキラ女子大生などを揶揄しており、ラーメンなどの画像とともに投稿されることが多いです。
今回は、画像分類に秀でたConvolutional Neural Network (CNN)を用いて、「スタバなう」という語句を含むツイートの添付画像が本当にスタバの画像か否か判定してみようと思います。
データセットの構築
下記の記事でも触れたウェブサービスを用いて「スタバなう」という語句を含むツイートの添付画像を収集しました。
手動でスタバの画像(正例)とそうでないもの(負例)に分類しました。枚数が中途半端なのは、ここで飽きたからです。
- 正例:168枚
- 負例:259枚
この段階で、検証用のデータセットとして以下の枚数分を取り出しました(当然、訓練用のデータセットとしては使いません)。
- 正例:40枚
- 負例:60枚
CNNの構築と学習
CNNの構築と学習には、下記の記事のPythonコードを再利用しました。もちろんパス名など細かい部分は修正しています(Github)。
CNNの構造
学習
327枚の訓練用のデータセットを学習させた結果は、下記の画像のようになりました。40ステップ辺りで収束していると分かります。
分類結果
予想\正解 | 正 | 負 |
---|---|---|
正 | 54 | 21 |
負 | 6 | 19 |
Precision = 0.72
Recall = 0.90
F-measure = 0.7999
指標についての説明はこちら。
F値 - 機械学習の「朱鷺の杜Wiki」
正と予想したのに正解は負だった画像(表の21)を調べてみると、スタバ以外のコーヒーチェーンの画像などが含まれていました。コーヒーカップは写っているのでロゴで判定するしかなく、これは間違えても仕方ないかなと思います。
【Twitter】特定キーワード&アカウントの画像を一括ダウンロードできるウェブサービス"timg"が便利
べき分布の対数を取る(ヒストグラムで可視化)
Jupyter Notebook
# 参考:https://qiita.com/tibigame/items/fa746573fbaf4666bc33 import numpy as np import scipy import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns sns.set(style="whitegrid")
# 指数分布 # 平均して10分に1度起こる現象の発生間隔 rand_exp_scale = 10.0 rand_exp_size = 10000 rand_exp = np.random.exponential(scale=rand_exp_scale, size=rand_exp_size) fig = plt.figure() ax = fig.add_subplot(1,1,1) plt.title('Histgram of np.random.exponential') ax.set_ylabel('Frequency') sns.distplot(rand_exp, kde=False, rug=False, bins=50)
log_rand_exp = np.log(rand_exp ) fig = plt.figure() ax = fig.add_subplot(1,1,1) plt.title('Histgram of Log(np.random.exponential)') ax.set_ylabel('Frequency') sns.distplot(log_rand_exp, kde=False, rug=False, bins=50)
pareto = np.random.pareto(a=2.718281828, size=10000) fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.set_ylabel('freq') sns.distplot(pareto, kde=False, rug=False, bins=50)
# パレート分布 log_pareto = np.log(pareto) fig = plt.figure() ax = fig.add_subplot(1,1,1) ax.set_ylabel('freq') sns.distplot(log_pareto, kde=False, rug=False, bins=50)
【遊戯王デュエルリンクス】竹光バーンに「所有者の刻印」を添えて デッキレシピあり
以下の効果を持つ「所有者の刻印」(通常魔法)を1枚加えることで、「エネミー・コントローラー」を食らった場合にも勝機が出現する。
フィールド上の全てのモンスターのコントロールは、元々の持ち主に戻る。
動き(例)
今流行りの竹光バーン(所有者の刻印を添えて) pic.twitter.com/c6FqXdawrH
— u++ (@upura0) January 3, 2018
これだから竹光バーンに所有者の刻印ピン挿しは止められない pic.twitter.com/C4KjdjAMSe
— u++ (@upura0) January 4, 2018
デッキレシピ(調整中)
R:error "cannot remove prior installation of package ‘xxxx’"
Rでパッケージ(今回の場合は”MASS”)をインストールする際、下記のようなエラーが出た。
cannot remove prior installation of package ‘MASS’
エラーメッセージでググった結果「C:\Program Files\R\R-3.4.3\library」(パスはインストール設定やバージョンで異なる)の中の対象フォルダをエクスプローラーで削除してしまえば良いと分かった。RやRstudioが起動していると削除できないので、一度アプリケーションを落とす必要がある。
Error in installation a R package - Stack Overflow
その後、改めて下記コマンドでインストールする。
install.packages("MASS")