시계열 예측에 Django Prophet을 사용하는 방법은 무엇입니까?
시계열은 여러 분야에서 중요한 데이터 유형입니다. 여기에는 시간 관련 데이터를 분석하고 예측하는 작업이 포함됩니다. Python 데이터 과학 생태계에는 시계열 예측을 위한 많은 도구와 라이브러리가 있습니다. 그 중 Prophet은 시계열 예측을 빠르고 정확하게 수행할 수 있는 Facebook에서 개발한 강력하고 사용하기 쉬운 라이브러리입니다.
이 글에서는 시계열 예측을 위해 Django Prophet을 사용하는 방법을 자세히 설명하겠습니다. 구체적인 코드 예제를 통해 데이터 준비, 모델 훈련, 예측과 같은 측면을 다룰 것입니다.
먼저 pip를 통해 Django Prophet을 설치해야 합니다. 터미널에서 다음 명령을 실행하세요:
pip install django-prophet
설치가 완료되면 Django Prophet을 Django 프로젝트에 도입해야 합니다. settings.py 파일의 INSTALLED_APPS
목록에 django_prophet
를 추가합니다: INSTALLED_APPS
列表中添加django_prophet
:
INSTALLED_APPS = [ ... 'django_prophet', ... ]
在进行时间序列预测之前,我们需要有一个包含时间戳和相关值的数据集。在这个示例中,我们将使用一个包含每日销售额的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
接下来,我们将使用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)
在templates文件夹中创建一个名为sales_chart.html
的HTML模板,该模板用于显示销售数据和预测结果。
现在,当用户访问/sales_chart
rrreee
rrreee
그런 다음 다음 명령을 실행하여 데이터 테이블을 만듭니다.rrreee
다음으로 필요한 것은 Django의 데이터 마이그레이션 기능을 사용하여 CSV 파일의 데이터를 데이터베이스로 가져옵니다. 이를 위해 사용자 정의 Django 관리 명령을 만들 수 있습니다. 프로젝트 디렉터리에import_sales.py
라는 파일을 만들고 다음 코드를 추가합니다. 🎜rrreee🎜다음 명령을 실행하여 데이터를 가져옵니다. 🎜rrreee🎜3 학습 모델 및 예측🎜🎜Connect Next , Django Prophet을 사용하여 모델을 훈련하고 시계열 예측을 수행합니다. 먼저 models.py 파일에 다음 코드를 추가합니다. 🎜rrreee🎜 그런 다음 명령줄에서 다음 명령을 실행하여 모델을 생성하고 훈련합니다. 🎜rrreee🎜 이렇게 하면 Prophet 모델이 생성되고 나중에 사용할 수 있도록 데이터베이스에 저장됩니다. 사용. 🎜🎜이제 모델을 사용하여 예측할 수 있습니다. 명령줄에서 다음 명령을 실행하세요. 🎜rrreee🎜 이렇게 하면 각 날짜에 대한 예측 값이 생성되어 데이터베이스에 저장됩니다. 🎜🎜마지막으로 뷰에서 예측 결과를 사용할 수 있습니다. views.py 파일에 다음 코드를 추가하세요. 🎜rrreee🎜templates 폴더에 판매 데이터 및 예측 결과를 표시하는 데 사용되는 sales_chart.html
라는 HTML 템플릿을 만듭니다. 🎜🎜이제 사용자가 /sales_chart
페이지를 방문하면 판매 데이터와 예측 차트가 표시됩니다. 🎜🎜결론🎜🎜이 글에서는 Django Prophet을 시계열 예측에 사용하는 방법을 자세히 설명합니다. 데이터 준비, 모델 훈련, 예측을 다루고 구체적인 코드 예제를 제공합니다. Django Prophet을 사용하면 시계열 예측을 쉽고 정확하게 수행하여 비즈니스 결정에 강력한 지원을 제공할 수 있습니다. 🎜🎜이 문서에서는 기본적인 사용법과 예제만 제공하므로 특정 요구 사항에 따라 더 많은 사용자 정의 및 개선을 수행할 수 있습니다. 이 글이 도움이 되었길 바라며, 시계열 분석과 예측에 성공하시길 바랍니다! 🎜위 내용은 시계열 예측을 위해 Django Prophet을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!