【关于时间序列的ML】项目 7 :使用机器学习进行每日出生预测
🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】 深度学习【DL】
🖍foreword
✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。
如果你对这个系列感兴趣的话,可以关注订阅哟👋
文章目录
什么是 Facebook 先知模型?
每日出生预测
在本文中,我将使用 Facebook 提供的算法,俗称 Facebook Prophet 模型。我将使用 Facebook Prophet 模型通过机器学习进行每日出生预测。我将在此处使用的数据是机器学习从业者中非常著名的数据集,称为加州每日女性出生率。
在开始使用机器学习进行每日出生预测任务之前,让我介绍一下 Facebook Prophet 模型,因为我将在本文中使用 Facebook Prophet 模型。
什么是 Facebook 先知模型?
Facebook Prophet 是 Facebook 核心数据科学团队开发的一种算法。它用于时间序列预测的应用程序。当可能存在季节性影响时,它非常有用。在本文中,我将带您了解 Facebook Prophet 模型在使用机器学习进行每日出生预测中的应用。
每日出生预测
让我们开始使用 Facebook Prophet 模型通过机器学习进行每日出生预测任务。我将从导入此任务所需的所有必要包开始此任务:
import pandas as pd
import numpy as np
import fbprophet
from fbprophet.plot import add_changepoints_to_plot
import warnings
import matplotlib.pyplot as plt
现在,由于我已经导入了所有必要的包,我将继续阅读每日出生预测所需的数据集:
df = pd.read_csv("daily-total-female-births.csv", parse_dates=['Date'], date_parser=pd.to_datetime)
df.columns = ['ds', 'y']
df.head()
y
0 1959-01-01 35
1 1959-01-02 32
2 1959-01-03 30
3 1959-01-04 31
4 1959-01-05 44
我使用“ds”和“y”作为列的名称,因为它是我们需要在 Facebook Prophet 模型中拟合数据的预格式化方式。所以我希望你不要对此感到困惑。现在,在我们的数据上使用 FB prophet 算法之前,让我们可视化数据以快速查看我们正在处理的内容:
plt.plot(df['ds'], df['y']);
plt.title('Daily Female Births in 1959')
现在,我将创建一个 Prophet 实例,以通过机器学习将季节性影响应用于每日出生预测任务:
with warnings.catch_warnings():
warnings.simplefilter("ignore")
m = fbprophet.Prophet(yearly_seasonality=True, daily_seasonality=False,
changepoint_range=0.9,
changepoint_prior_scale=0.5,
seasonality_mode='multiplicative')
m.fit(df)
future = m.make_future_dataframe(periods=50, freq='d')
forecast = m.predict(future)
现在,让我们可视化应用模型后获得的季节性影响:
m.plot_components(forecast)
现在,让我们想象一下 Facebook 先知模型对每日出生预测的预测:
m.plot(forecast)
我希望您喜欢这篇关于使用 Facebook Prophet 模型通过机器学习进行每日出生预测的文章。