ホームページ >バックエンド開発 >Python チュートリアル >Django Prophet を時系列予測に使用するにはどうすればよいですか?

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

王林
王林オリジナル
2023-09-27 12:09:09772ブラウズ

如何使用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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。