yuqingpredict.py
1.06 KB
from utils.getPublicData import *
from utils.predict import predict_future_values # Use the new function
import csv
import os
import datetime
import pandas as pd
def getTopicCreatedAtandpredictData(topic):
createdAt = {}
for i in articleList:
if i[14]==topic:
if i[7] in createdAt.keys():
createdAt[i[7]] += 1
else:
createdAt[i[7]] = 1
for i in commentList:
if i[9]==topic:
if i[1] in createdAt.keys():
createdAt[i[1]] += 1
else:
createdAt[i[1]] = 1
# Use the improved time series prediction approach
predictions = predict_future_values(createdAt, forecast_days=5)
# Merge historical data and predictions
combined_data = {**createdAt, **predictions}
combined_data = {k: combined_data[k] for k in sorted(combined_data, key=lambda date: datetime.datetime.strptime(date, "%Y-%m-%d"))}
print(list(combined_data.keys()), list(combined_data.values()))
return list(combined_data.keys()), list(combined_data.values())