Django Prophet を時系列予測に使用するにはどうすればよいですか?

王林
リリース: 2023-09-27 12:09:09
オリジナル
650 人が閲覧しました

如何使用Django Prophet进行时间序列预测?

Django Prophet を時系列予測に使用するにはどうすればよいですか?

時系列は、多くの分野で重要なデータ型です。これには、時間関連データの分析と予測が含まれます。 Python データ サイエンス エコシステムには、時系列予測のためのツールやライブラリが多数あります。その中でも、Prophet は Facebook によって開発された強力で使いやすいライブラリであり、時系列予測を迅速かつ正確に実行できます。

この記事では、Django Prophet を使って時系列予測を行う方法を詳しく紹介します。データの準備、モデルのトレーニング、予測について、具体的なコード例とともに説明します。

1. Django Prophet のインストールと導入

まず、pip を通じて Django Prophet をインストールする必要があります。ターミナルで次のコマンドを実行します。

pip install django-prophet
ログイン後にコピー

インストールが完了したら、Django Prophet を Django プロジェクトに導入する必要があります。django_prophetを settings.py ファイルのINSTALLED_APPSリストに追加します:

INSTALLED_APPS = [ ... 'django_prophet', ... ]
ログイン後にコピー

2. データを準備します

時系列予測を行う前に、タイムスタンプと関連する値を含むデータセットである必要があります。この例では、毎日の売上を含む CSV ファイルを使用します。まず、CSV ファイルをプロジェクトのディレクトリに配置し、models.py ファイル内にデータを表すモデル クラスを作成します。

from django.db import models class Sales(models.Model): date = models.DateField() value = models.FloatField()
ログイン後にコピー

次に、次のコマンドを実行してデータ テーブルを作成します。

python manage.py makemigrations python manage.py migrate
ログイン後にコピー

次に、Django のデータ移行機能を使用して、CSV ファイルのデータをデータベースにインポートする必要があります。これを行うには、カスタム Django 管理コマンドを作成します。プロジェクトのディレクトリにimport_sales.pyという名前のファイルを作成し、次のコードを追加します:

from django.core.management.base import BaseCommand import csv from datetime import datetime from myapp.models import Sales class Command(BaseCommand): help = 'Import sales data from CSV file' def add_arguments(self, parser): parser.add_argument('csv_file', type=str, help='Path to the CSV file') def handle(self, *args, **options): csv_file = options['csv_file'] with open(csv_file, 'r') as file: reader = csv.reader(file) for row in reader: date = datetime.strptime(row[0], '%Y-%m-%d').date() value = float(row[1]) Sales.objects.create(date=date, value=value)
ログイン後にコピー

次のコマンドを実行してデータをインポートします:

python manage.py import_sales path/to/csv/file.csv
ログイン後にコピー

3. トレーニングモデルと予測

次に、Django Prophet を使用してモデルをトレーニングし、時系列予測を行います。まず、models.py ファイルに次のコードを追加します。

from django.db import models from django_prophet.models import BaseModel class Sales(BaseModel): date = models.DateField() value = models.FloatField()
ログイン後にコピー

次に、コマンド ラインで次のコマンドを実行して、モデルを作成およびトレーニングします。

python manage.py prophet_create_model myapp.Sales
ログイン後にコピー

これにより、Prophet モデルが作成されます。後で使用できるようにデータベースに保存されます。

これで、モデルを使用して予測を行うことができます。コマンド ラインで次のコマンドを実行します。

python manage.py prophet_make_forecast myapp.Sales
ログイン後にコピー

これにより、各日付の予測値が生成され、データベースに保存されます。

最後に、予測結果をビューで使用できるようになります。次のコードを views.py ファイルに追加します。

from django.shortcuts import render from myapp.models import Sales def sales_chart(request): sales = Sales.objects.all() predictions = [sale.prophet_prediction for sale in sales] context = { 'sales': sales, 'predictions': predictions } return render(request, 'sales_chart.html', context)
ログイン後にコピー

テンプレート フォルダーにsales_chart.htmlという名前の HTML テンプレートを作成します。これは、販売データと予測結果を表示するために使用されます。

ユーザーが/sales_chartページにアクセスすると、売上データと予測グラフが表示されます。

結論

この記事では、時系列予測に Django Prophet を使用する方法について詳しく説明します。データの準備、モデルのトレーニング、予測について説明し、具体的なコード例を示します。 Django Prophet を使用することで、時系列予測を簡単かつ正確に実行し、ビジネス上の意思決定を強力にサポートできます。

この記事では基本的な使用法と例のみを説明しており、特定のニーズに応じてさらにカスタマイズや改善を行うことができることに注意してください。この記事がお役に立てば幸いです。時系列分析と予測が成功することを祈っています。

以上がDjango Prophet を時系列予測に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!