ゆたろ@米国生活に怯えるデータサイエンティスト来年はどうやら家族で米国に行くようです。2024.08.13今回は忘備録的ですが、時系列データの可視化について基本的かつほぼ毎日使っている技を説明していきます。※すでにデータをお持ちの方は飛ばしちゃってください。これから使用するサンプルデータとしてYahooファイナンスからAPI経由でデータを取得していきます。unit='ms')df.sort_values(by='timestamp',inplace=True)df.set_index('timestamp',inplace=True)特に説明はしません。”code”のところに取得した株価コードを入れてもらえればそのまま株価データが得られると思います。1つのグラフを描画さて本題の時系列データの可視化です。1行でグラフを表示させるPythonを使って最も簡単にグラフを表示しようとすると、なんと1行でできてしまいます。df['open'].plot()これを実行すると、簡単に次のグラフが得られます。※注意:1秒単位で数年間に渡るデータなど、データ数が多い場合は処理が重くなります。ここでは全体像をざっくりと見ることが目的なのでresample()関数を使うなどして、データ圧縮してから可視化するのが吉です。この簡易的な可視化は超ざっくりどんなグラフなのか確認したいときに使う技です。データを入手してどんなグラフなのか見たいときに結構お世話になってます。続いては、もう少しグラフを見やすくしたいといった詳細設定をしていきます。今回使用しているのは時系列データなので、横軸に時間軸、縦軸に株価を取るのが見やすいですね。時系列データを見やすくするために、以下の設定をしていきます。14おなじみのmatplotlibを使います。seabornも併せて使うことが多いので書いておきます。下3行ですが、この記述によりpltを使う際に日本語があっても文字化けせずにすみます。Notebookを開いたら必ずと言っていいほど最初に記述する小技です。グラフに補助線を入れる。alphaは透過度で補助線の場合は0.3くらいがかっこいいplt.show()小技というほどでもないのですが、可視化したいカラム名を”target”としています。カラム名が何度も出てくる場合、可視化対象を変更する際に一か所のみ変更すればよいようにするためです。続いて次の一文ですが、plt.subplots()によりグラフ全体の設定を行うFigureオブジェクトとグラフ単体のAxesオブジェクトを同時に受け取ることができます。この技は複数グラフを描画する際にとても有効となります。plt.subplots(figsize=(15,5))ひとまずFigureオブジェクトとAxesオブジェクトは次のような関係図で抑えるとよいでしょう。今回の例ではグラフは1つのFigureオブジェクト内に1つのAxesオブジェクトしか指定していないので、”axs”は配列ではありません。あとは、Axesオブジェクトである”axs”を用いてグラフタイトルや軸の設定を行っています。(ここではとりあえず最低限の設定のみ)基本は以上になります。続いては可視化の際の必須スキルでもある複数グラフを見比べるということをやっていきます。複数のグラフを表示させる複数のグラフを表示させる例として、ここではとある企業の1日の午前と午後の株価データをグラフ化して並べて見てみたいと思います。次のようにコードを書き換えます。午前と午後でグラフを比較しやすくなりました。コードの解説をしていきます。“periods”では午前と午後の時間をそれぞれタプルで格納し、それを配列に入れています。これはのちほどfor分で回す際に非常に使い勝手が良い小技です。plt.subplots(2,1,figsize=(15,8))の部分については、plt.subplots(”グラフの行数”,”グラフの列数”,figsize=(15,8))というように一つのFigureオブジェクトの中に並べたグラフ(異なる種類でもOK)を座標のように指定します。座標とグラフの対応イメージは以下。※figsizeを調整して見栄えを整えましょう。zip(axs,periods):forとzip()の組み合わせによってaxsとperiodsを抱き合わせて取り出すことができます。(ここ結構重要)このfor文は2ループだけなので変数の取り出し方は次の通り2パターンになります。15:00:00′あとに続くコードは与えられたs(スタート)、e(エンド)の期間のデータを取り出してプロットし、軸の細かい設定を行っています。ここでsubplots()を用いた妙味がでます。各グラフ同じ設定であればfor文で回すことができます。まとめ今回は時系列データの可視化を行う際の初歩的な以下3つのTipsを説明しました。KggleとかSignateの愚痴はい、データサイエンティストは日々自分のスキルを身に着けるために勉学に励んでいます。時には休みたくなるときや愚痴を言いたくなるものです。今回はかの有名なデータサイエンスのコンペの愚痴を書いていきたいと思います。生成AIの技術的な部分についても触れていきます。皆さんご存じのChatGPTに代表されるLLM(大規模言語モデル)を取り上げます。4oの性能が凄まじいということで、早速いろいろ試してみたいと思います。今回は4oになってから強化された、ファイル読み取り機能を使った評価を行っていきます。皆さん、こんにちは!ゆたろです。今回は実際のプロジェクトでの経験をもとに、機械学習を難しくするデータについてお話ししようと思います。機械学習に必要なのはデー...AI・データサイエンスSignate(シェアサイクルの利用予測)に挑戦してみた今回は過去に実施されたSignateのシェアサイクルの利用予測に挑戦しました。今回はそのノウハウを共有したいと思います。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。ホームAI・データサイエンス自己紹介ゆたろです。データ分析やAI分析をやってます。最近は、自分もAIに駆逐されることを前提に一体何ができるかのを考えながら生きてます。ゆたろ@米国生活に怯えるデータサイエンティスト.ホーム検索トップサイドバータイトルとURLをコピーしました。