見出し画像

Pythonで東京の1日の新規感染者数を予想してみた!

こんにちは、ニコです。

今回は、Pythonを使って東京の1日の新規感染者数を予想してみました。

初めての機械学習ということで、シンプルなことしかできませんが、温かい目で見ていただけたら幸いです。

1. NumPyやPandasなどの外部ライブラリをインポート!

画像1

NumPy, Pandas, Matplotlibをそれぞれインポートします。

import matplotlib.dates as mdates

上記は、後にグラフを作る際に日にちを加えるためのコードです。

2. データを集める

画像2

都内の最新感染動向というホームページに、これまでの感染者数の推移が乗っているので、そこからデータを集めます。こちらがそのホームページです。

https://stopcovid19.metro.tokyo.lg.jp/

上記の画像は2月14日から12月2日までの1日の新規感染者数をまとめたデータです。NumPyを使って、ndarray化させています。

次にPandasのDataFrameを使って、綺麗な表を作ります。​

画像3

こんな感じですね。

3. 説明変数と目的変数を決め、訓練データとテストデータに分ける

画像4

ここではTechAcademyで習った技術を生かします。Xは、その日の感染者数、y は次の日の感染者数とします。ある日の感染者数がXなら、その次の日の感染者数はy になる」という形で X(説明変数)と y(目的変数)を設定します。

今回は、直近(後半の)30日をテストデータにします。つまり、2月14日から11月3日までのデータを訓練データとし、11月4日から12月2日までをテストデータにします。

4. scikit-learnのLinearRegression(回帰)を使って、学習させる

画像5

今回は感染者数の予測を行いたいため、 linear_modelをインポートし、linear_model.LinearRegression()で学習をさせます。

predict()を使って、期待する性能が出たかを評価します

5. matplotlibを使って、グラフ化する

画像6

Pandasのpd.date_range()を使って、11月4日から12月2日までのデータを作ります。

あとはラベルやタイトルを入れて完成です。

結果はこうなりました!

画像7

赤い線はコンピューターが予想した数で、青い線は実際の数を表しています。

こうして見ると、ちゃんと予想はできてるように感じますが、専門家ではないので詳しい事はわからないです。

でも、初めての機械学習にしては上出来だったかなと思います。

もっと機械学習についての知識を深めて、難しいことにチャレンジしていけたらなと思います!


最後まで読んでいただきありがとうございました!

この記事が気に入ったらサポートをしてみませんか?