2020年のまとめ

今年も一年間お世話になりました。
多くの方に訪問いただけていたのでモチベーションを失わずにブログ更新を続けることができました。

2020年最後の投稿になりますので、今年1年間の振り返りをしたいと思います。

まず基本的なデータ。記事数はトータル、残り二つは2020年1年間の実績です。

– 記事数 409記事 (この記事含む)
– 訪問ユーザー数 146,674人
– ページビュー 258,698回

2019年と比べて、どの数値も大きく伸びていることがわかります。
更新頻度こそ2019年から落としていますが、更新を続けることによって(結果的に記事にしなかった内容も含めて)多くの学びを得ることができた1年間でした。

さて、恒例のよく読まれた記事ランキングをみていきましょう。
今回は2020年1年間でのPV数によるランキングです。

  1. matplotlibのグラフを高解像度で保存する
  2. macにgraphvizをインストールする
  3. kerasのto_categoricalを使ってみる
  4. numpyのpercentile関数の仕様を確認する
  5. scipyで階層的クラスタリング
  6. DataFrameを特定の列の値によって分割する
  7. INSERT文でWITH句を使う
  8. matplotlibのデフォルトのフォントを変更する
  9. pythonで累積和
  10. Pythonで多変量正規分布に従う乱数を生成する

あれ、今年書いた記事があんまりランクインしてないような。
基本的な内容の記事がニーズが高い傾向にはあるようですね。

僕自身の備忘録的な記事も多く、これは本当に訪問される皆さんの役に立ってるのかと心配になることも多いのですが、
アクセスを見る限りではちゃんとニーズがあったようで嬉しいです。
無理して内容のレベルを上げるよりも今の調子での更新が良いのかもしれませんね。

さて、年初に立てた目標の方も振り返ってみると、更新回数以外の目標はさっぱりでした。
参考: 2020年のご挨拶と今年の目標
Kaggleはそのうち挑戦しようと思いつつ全然やってないし、
技術記事以外の記事もさっぱり書いていません。
技術記事だけで100記事書けたと言うことでもあるので、それが悪いわけではないのですが当初思ってたのとは方向がずれたかなと思います。

来年どのくらい記事を書くかとか、その内容とかはブログ以外の目標やプランともすり合わせて計画を立てて、
年初の記事で方針発表させていただけたらと思います。

今年も1年間ありがとうございました。良いお年を。

2020年上半期(1月~6月)によく読まれた記事

早いもので2020年が半分終わってしまいました。
今年はブログ更新頻度を落としているのもあり、四半期でのランキング発表をやめているので、
この辺で半年間に読まれた記事のランキングを出したいと思います。

参考ですが、昨年1年間のランキングはこちらです。
参考: 2019年のまとめ

では早速ランキング発表です。
集計期間は 2020年1月から6月まで。pvで並べています。

  1. matplotlibのグラフを高解像度で保存する
  2. macにgraphvizをインストールする
  3. pythonで累積和
  4. DataFrameを特定の列の値によって分割する
  5. INSERT文でWITH句を使う
  6. kerasのto_categoricalを使ってみる
  7. numpyのpercentile関数の仕様を確認する
  8. scipyで階層的クラスタリング
  9. matplotlibのデフォルトのフォントを変更する
  10. graphvizで決定木を可視化

データサイエンスというより、プログラミングのちょっとしたTips的な記事の方がよくpvを集めていますね。
今年はネットワーク解析/グラフ理論の記事も頑張って書いたので今後はそれらのランクインも期待したいです。

2020年のご挨拶と今年の目標

新年明けましておめでとうございます。本年もよろしくお願いします。

年明け最初の投稿なので、本年の目標をまとめておきたいと思います。
細かい目標は他にも多々ありますが、データサイエンティストとしてのスキルアップの観点では、
次の二つを重点目標として、取り組みます。

1. kaggleのコンペに挑戦する

一つ目の目標はこれです。今年はブログ以外の技術アウトプットとして、kaggleに挑戦したいと思っています。
データサイエンティストではありますが、業務では機械学習以外の仕事が多く、
ぼーっとしているとなかなか技術が伸びていきません。
そのままだと稀に機械学習のタスクが発生した時に十分な成果が出せず非常に苦労します。
今は東京大学の通信講座であるDL4USを受講していますが、もうまもなく最終課題も終わるので、
その次の挑戦としてコンペに参加していこうと思います。
もちろんメダルを目指したいですが、まずはコンペに取り組む習慣づくりからはじめて、
常に何かしらのコンペに取り組んでいる状態を維持します。

2. ブログ記事100件投稿

昨年は306記事投稿していますが、予告通りペースを落とします。
ただ、それでも投稿自体は継続し、1週間に2記事のペースで年間100記事を目指します。
内容も見直していく予定です。
いきなりキャリア系のポエム記事ばかりにするつもりはなく、今まで通りのノリの投稿も続けますが、
キャリア系の記事でも誰かの参考になることがあると思うので、徐々に発信の幅を広げていきたいです。
特に30歳を超えて未経験の状態からいきなりデータサイエンティストに転職してきた頃の話とか、
その後、分析チームのマネジメントや採用業務等も担当するようになっているので、
何かしら誰かの参考になる話もあるかと思います。

2019年のまとめ

2019年最後の更新です。
今年から始めたブログでしたが無事に1年間更新を続けることができました。
ということでGoogleアナリティクスのデータ等も見ながら、振り返って見ます。
(記事執筆時点のデータなので後日残り1日文のデータを入れて更新するかも)

まず基本的なデータ。

– 記事数 305 記事 (この記事含む)
– 訪問ユーザー数 23,803人
– ページビュー 36,569回

密かに目標にしていた300記事は無事に達成し、アクセスもそこそこ集まるようになりました。
どこまで役に立っているのかわかりませんが少なくとも更新する意味はあるブログになってきたのかなと思います。

実際、更新してきてどうだったか、という観点の話はつい先日300記事達成の投稿で書いたので省略します。

次は今年よく読まれた記事の紹介です。
トップテンは次のようになりました。

  1. macにgraphvizをインストールする
  2. pythonでARモデルの推定
  3. DataFrameを特定の列の値によって分割する
  4. graphvizで決定木を可視化
  5. pandasでgroupbyした時に複数の集計関数を同時に適用する
  6. pythonで編集距離(レーベンシュタイン距離)を求める
  7. scikit-learnでテキストをBoWやtfidfに変換する時に一文字の単語も学習対象に含める
  8. Prestoで1ヶ月後の時刻を求める時に気をつけること
  9. pythonで累積和
  10. pythonでARMAモデルの推定

ベスト5は3Qの時とほとんど変化していませんが、6位から10位は少し意外なのも入っていますね。累積和など。
データサイエンティスト色をもっと強めたいなとは思うのですが、とりあえず技術ブログっぽいものにはなったと思います。

元々、各所に散らばってしまっていた自分のメモや検証結果などを一箇所にまとめたいという思いで始め、
訪問者のことよりも自分にとっての使いやすさ重視の記事が多いブログですが、
多くのかたに訪問していただきとてもありがたく思います。

さて、来年の更新ですが、今のペースでやっていくのは少し難しいと思っているので、更新頻度は見直したいと思っています。
というのも、最近は自分の学習時間においてブログへのアウトプットの比重が高まりすぎ、
腰を据えたインプットがおろそかになっているという課題も感じているからです。

年末年始に来年の目標と計画を整理し、このブログの運用はちょうどいい塩梅を探しながら続けていきたいと思います。
とりあえずお正月期間は更新をお休みし、来年の更新は6日以降から再開予定です。

今年一年ありがとうございました。良いお年を。

ブログ記事数300記事達成

このブログを開設してからもうすぐ1年になります。
そして、日々せっせと書いてきた記事数がいよいよこの記事で300記事になりました。

もうしばらくしたら年間の振り返り記事も書くので時期的に微妙なのですが、
記事数のキリが良いので100記事の時の記事も見つつ、ちょっと振り返りをやってみます。
参考: 記事数が100を超えていました

日々の訪問者数がかなり伸びてきた

100記事の頃は日々20〜30人のかたがきてくださることを喜んでいたのですが、
今では平日は1日300人以上の訪問があるようになりました。(休日はもう少し減ります。)

以前はライブラリやモジュールのインストール記事や、エラーメッセージを貼り付けたような記事でアクセスの多くを稼いでいたのですが、
今では、時系列データ分析関係の記事や、pandasの使い方、scikit-learnやkerasの記事などにもある程度の量のアクセスが集まるようになりました。
(と言っても、graphvizの記事が一番人気であることは変わりませんが。)
Qiitaからの流入が出始めたのも最近のことです。

自分用のリファレンスとして便利になってきた

流石に300も記事を書くと、内容を全部覚えているわけでは無いのでこのブログで調べ物をする機会も度々発生するようになりました。
元々は、一度は気になって調べて自分が使ってるどれかの端末化サーバのどこかにメモが残ってるものが多いのですが、それを探すのはかなり手間です。
そのため、このブログに書いたような気がする内容はまずここで検索するようになりました。
当たり前ですが記事中のコードは自分が好きなスタイルで書いてるのでコピペでも使いやすく快適です。
(訪問者の方にとって使いやすいか、という点でまだ課題がある気がします。)

記事を書くためにネタを探すことも増えてきた

流石に最近は、明日のブログ記事を何にしようかと悩むことも増えてきました。
ただ、このブログを書く中で、各ライブラリの公式ドキュメントなどを読む習慣もついているので、
そのような時は主要なライブラリのドキュントを読み漁ってネタを探しています。
それはそれで新しい発見もあり、勉強になるので元々が必要に迫られた情報ばかりだった頃とは違った意味で勉強になると感じています。
ただ、ネタ探しに時間がかかる分、肝心の記事が内容が浅くなりがちでそれは反省しないといけません。

今後の方針について

残り少ないですが今年いっぱいは今のペースで続ける予定です。
ただ、来年の方針は考え直そうと思ってます。

1日1記事のペースでかけるネタが枯渇している一方で、時間かけてしっかり書きたい内容は色々あります。
具体的なペースとか、来年の記事数の目標とかはブログ以外の目標等も含めてしっかり練って、
年末年始の間にでも決めたいと思ってます。

時系列データ分析の話題で言えば、ベクトル自己回帰や状態空間モデルの話をまだかけていないですし。
ディープラーニングの話題でも、普段よく使っているLSTMなどの話をかけていません。
自然言語処理もまだまだで、早めに書きたいと思ってたword2vecの話題が未登場です。

1日1記事のペースを維持しようと、自分がしっかり時間かけてしっかり書きたい記事がかけずに
さっと出せる小ネタを探す傾向が最近強いので、きちんと振り返ってもっと有益な形でブログ更新を続けたいです。

2019年第3四半期によく読まれた記事

前回:2019年第2四半期によく読まれた記事

3ヶ月ごとの恒例?(まだ3回目ですが)の、この四半期に読まれた記事のランキングです.

7月から9月のベスト5はこちら。

  1. macにgraphvizをインストールする
  2. DataFrameを特定の列の値によって分割する
  3. pythonでARモデルの推定
  4. graphvizで決定木を可視化
  5. pandasでgroupbyした時に複数の集計関数を同時に適用する

前回から引き続きランクインしているものが目立ち、最近書いた記事が無いです。
そもそもここ最近書いていた数式が多めの記事はほぼ読まれていないように見えます。
もともと自分のメモとしてテキスト等を写したような記事も多く、あまり独自の内容がないからでしょうかね。
もっと良い情報を提供できるようにまだまだ精進していく必要があります。

7月から記事の更新を毎日から平日のみに絞り、ネタ切れ感はあるもののだいぶ無理のない運用になってきました。
$TeX$もよりスムーズにかけるようになってきたのも更新が楽になってきたポイントです。

一週間の訪問者も最近は600人を超えるようになってきました。(2Qの1.5倍)
わざわざ訪問してくださった方々の期待に応えられる記事になってるかと言うと、全く自信のないところなのですが、非常にありがたいです。

さっと読み返してみると、時間をかけて調査した内容をまとめた記事はまだ十分な量になっておらず、
ちょっとしたメモ書きのようなのが多くなってしまっていて、まだまだ理想とは遠いと感じています。
この辺りは最近の残業の増加とも関係していると思うので、仕事や生活を総合的に見直して改善していきたいです。

2019年第2四半期によく読まれた記事

ブログを開設から半年になりました。
ありがたいことに訪問者も増え、週に400人以上の方が訪問してくださっています。
開設から3ヶ月経過した時点でよく読まれている記事を紹介させていただいた後、
再び3ヶ月たちましたのでこの辺で最近の人気記事を紹介させていただこうと思います。

前回:2019年第1四半期によく読まれた記事

ベスト5はこちらです。

  1. macにgraphvizをインストールする
  2. pythonで編集距離(レーベンシュタイン距離)を求める
  3. pythonでARモデルの推定
  4. pandasでgroupbyした時に複数の集計関数を同時に適用する
  5. Mac(Mojave) に pip で mecab-python3をインストールする時にはまった

前回1位のmecab-python3のインストール時エラーの話題は5位になり、
代わりに前回2位のgraphvizのインストールの話がトップになりました。

前回、ほぼ読まれてないとぼやいていた時系列解析系の話から、ARモデルの話が3位に入ったのは少し嬉しいです。
ただ、自己回帰ではなく拡張現実のARと勘違いして訪問された方もいらっしゃるような気がしています。

まだまだブログに書きたいことはいろいろあるのですが、
1日1記事のペースで書けるようなネタ(以前検証した時のコードが手元にあるものや、ちょっとした小ネタ的なもの)は
流石に180記事も書いていると枯渇気味で、もうちょっと1記事1記事に時間かけた方が良さそうという思いは強くなっています。
ということで、今後は1週間あたりの記事数を少し落としながら継続していこうと思います。

記事数が100を超えていました

ついこの間50記事を超えたことを書いたばかりなのですが、
その後も1日1記事のペースを維持でき、めでたく100記事を突破していました。
参考:ブログ記事数が50を超えていたので振り返り

2ヶ月弱しか経っていないのですが、それでも少々変わってきたことがあるのでその辺中心に振り返っておきます。

アクセス数が安定してきた

50記事の頃は毎日2~3人しか訪問者がいらっしゃいませんでしたが、
最近は安定して20〜30人くらいのかたが訪問してくださっているようです。

初回訪問のかたの多くはMeCabのインストール時のエラーや
grahpvizのイストール方法を探しているようです。

2019年第1四半期によく読まれた記事
の1位2位ですね。

一方で時系列解析やpandasなどのプログラミングの話、kerasなどの機械学習記事の人気はイマイチ。
まだチュートリアルレベルのことしか書けてない僕のコンテンツ力不足ですね。

$TeX$の入力に慣れてきた

大学/大学院時代に使って以来すっかり触らなくなっていた$TeX$ですが、
ARMA過程関連の記事を書く中で徐々に勘を取り戻してきました。

最初は複数行の数式の$=$の位置を揃える方法も行列の書き方も、
ギリシャ文字の入力も不等号もアクセント記号もすっかり忘れていたのですが、
徐々に楽に使えるようになってきていい感じです。

正直、最初は数式が多くなりそうってだけで書くのを敬遠したテーマもあったので、
改めてそれらの記事化も検討します。

やっぱり勉強になる(再掲)

50記事の時も書きましたが、新たに知った内容だけでなく、元々理解しているつもりの内容であっても、
記事にするための再検証の中で新たな学びが多くありました。

ARMA過程の一連の記事など、もともとはstatsumodelsの使い方だけ紹介して終わろうと思ってたところ、
最低限の用語だけでも説明せねばと思って、結構前に読んだ沖本本を引っ張り出してきて改めて書いたものです。

沖本本をさっと通読したときは「フンフン確かにこうなるね」と流していたところを、
一個一個の数式を手計算で追いかけ、実例を構築してプログラムを書いて検証して、
とやっていく中で、思ったほどうまくいかないことにも結構遭遇しつつ理解を深められて良かったです。
単位根過程やベクトル自己回帰の話題はまだこのブログに出せていないので追い追い書いていきます。

今後の計画

手元のメモから転記するだけで記事になるネタは減ってきたのですが、
それでもコードや数式が入ったブログを書くこと自体には慣れてきて負荷が下がってきたので、
もうしばらく今のペースで記事を書きたいと思ってます。

また、データサイエンティストとして働きはじめて2年経ちましたので、
仕事やキャリアの話なども、これから目指す人の参考になるように書いていきたいですね。

2019年第1四半期によく読まれた記事

一昨日でこのブログを開設してから3ヶ月が経過しました。
まだ毎日数人ですが、このブログに訪れてくれる方も現れています。

せっかくGoogle アナリティクスも導入していますので、
このあたりで、これまでによく読まれた記事を紹介したいと思います。
他のブログではよくベスト10とか紹介されていますが、そこまで記事数も訪問数もないのでベスト5で。

早速ですが結果はこちらになります。なお、自分のアクセスは除外しています。

  1. Mac(Mojave) に pip で mecab-python3をインストールする時にはまった
  2. macにgraphvizをインストールする
  3. WP Mail SMTPを設定してLightsailのwordpressからメール送信できるようにする
  4. pythonで編集距離(レーベンシュタイン距離)を求める
  5. Prestoで1ヶ月後の時刻を求める時に気をつけること

トップ2が環境構築の話、3位がWordpressの話となり、全然データサイエンティストのブログぽくない結果になりました。
そもそもこのブログ開設当初の記事がブログ構築の話ばかりだったのでしかたがないですね。

最近書いている時系列解析の話などはほぼ読まれていないようです。
ただ、今後も当分は今のペースで記事を増やしていこうと思っています。
もともと過去に検証したこととか、手元にメモしたものを一箇所に集約することも目的だったので、
これまで通り基本的な内容の記事が中心になる予定です。

ブログ記事数が50を超えていたので振り返り

このブログをはじめて1ヶ月半ほどたち、記事数はいつの間にか50記事を超えていました。
想定外だった気づきや想定外だったこともあるので、この辺で一度振り返りをやっておこうと思います。
とりあえずこのブログについて感じていることをそのまま書き出しておきます。

想像以上に勉強になる

元々は、自宅PC、職場PC、個人アカウントのサーバー、職場のサーバーなどに散らばっていたメモ書きを
一箇所に集約して参照できたら便利だということと、
それがネット上にあれば自分より後に勉強を始めた人の役に立つだろうという二つの目的でこのブログを始めました。
要は、最初は自分が知ってることとか調べ終わったことを書き写すだけで新しい学びが増えることはあまり期待していましせんでした。
しかし、改めて記事を書くとなるとドキュメントを読み直したり、最新バージョンの環境でテスト実行したりするので、
新たな気づきが多くあり自分の勉強になりました。
numpyやpandasなんて2年弱使っているのですが、
これまでは、本や誰かが書いたサンプルコードばかり読んで、公式ドキュメントをまともに見ていませんでした。
やはり公式のドキュメントを読むとより効率のいい使い方がわかったり、新しく知る機能があったりと非常に勉強になります。

記事を書くのは思ったより大変

上の内容とかぶりますが元々は既存のメモ書きを元ネタに記事を書こうとしていたので、もっとサクサクと記事を増やせると思っていました。
しかし、記事用に調べ直したり、できるだけ綺麗なスタイルでコードを書いたり、画像を準備したりすると、
既知の内容でも結構時間がかかります。新しく知ったテーマならなおさらです。
今までいろんな人のブログや記事、投稿を読んできましたが、それらを書いてくださっていた
皆さんへの感謝の気持ちと尊敬の念が高まりました。

想定していた内容の記事がまだ書けてない

データサイエンティストになってからユーザーの行動分析や自然言語処理に多く取り組んできたので、
その分野でもっと高度な記事を量産できると思っていました。
実際、書こうと思っているネタは色々ありますので、そのうち書きます。

しかし実際は最初の方の記事はAWSにwordpressを構築するために色々調べた内容ばかりになり、
その後もそれこそデータサイエンティストになったばかりの頃(というよりもpythonを触り始めた頃)のメモ書きを見返して、
非常に基本的な内容の記事ばかり書いています。
ただ、前述の通りそれが勉強になっているので当分はそのまま続けようと思っています。
基本的な内容でもきっと誰かの役に立つこともあるでしょうし。

まだアクセスが全然増えない

最近は、1日2〜3人くらいは自分以外の人が来てくれているようなのですが、
そのレベルで留まって全然アクセスが伸びていません。
昔やっていたyahooやfc2のブログではもっと早い段階で訪問者が増えたのですが、
それぞれのサービスにあった新着記事のフィードに乗る効果やSEOのおかげだったのでしょう。

今の段階で訪問が増えても、基本的な内容しか書いてなくて若干恥ずかしいというのもあるので、
あんまり積極的なアクセスアップ施策は取らず、当分地道に記事を増やしていきたいと思っています。

今後の計画

とりあえず今のところは1日1記事のペースを維持できていますが、
より高度な内容を書こうと思うとこのペースを維持するのは厳しいとも感じています。
まだまだネタはあるので、当分1日1記事ペースを頑張りたいですがそれをずっと続けるのはおそらく無理です。
どこかのタイミングで、ちゃんと時間かけて独自に調べた内容を週1回くらいのペースで
上げていくスタイルに移行できた方が読む人のためになるのかなとも思っています。