【2025五一数学建模竞赛C题】社交媒体平台用户分析问题|建模过程+完整代码论文全解全析

你是否在寻找数学建模比赛的突破点?数学建模进阶思路!

作为经验丰富的美赛O奖、国赛国一的数学建模团队,我们将为你带来本次数学建模竞赛的全面解析。这个解决方案包不仅包括完整的代码实现,还有详尽的建模过程和解析,帮助你全面理解并掌握如何解决类似问题。

详见文末
在这里插入图片描述部分可视化(做了模糊处理,正文里的比这个更细致)
在这里插入图片描述
第一个问题是:基于用户与博主历史交互数据(观看、点赞、评论、关注)的统计分析,能够有效揭示用户行为特征,为内容优化和交互提升提供决策依据。根据附件1提供的数据,请建立数学模型,预测各博主在2024.7.21当天新增的关注数,并根据预测结果,在表1中填写当日新增关注数最多的5位博主ID及其对应的新增关注数。

问题1:预测各博主在2024.7.21当天新增的关注数

1. 问题理解

我们需要基于附件1中提供的2024.7.11至2024.7.20的历史交互数据(观看、点赞、评论、关注),预测每个博主在2024.7.21当天新增的关注数(即有多少新用户关注了该博主)。然后,找出新增关注数最多的前5位博主及其新增关注数。

2. 数据特征
  • 用户行为:1(观看)、2(点赞)、3(评论)、4(关注)。注意,点赞、评论、关注都隐含了观看行为。
  • 时间范围:2024.7.11至2024.7.20。
  • 预测目标:2024.7.21当天每个博主的新增关注数。
3. 建模思路

由于我们需要预测未来一天的新增关注数,可以考虑以下方法:

  1. 时间序列模型:将每个博主每天新增的关注数看作一个时间序列,使用时间序列模型(如ARIMA、指数平滑等)进行预测。
  2. 趋势外推:根据过去几天的新增关注数的趋势,进行简单的外推预测。
  3. 机器学习模型:将博主的历史关注数作为特征,训练回归模型进行预测。

考虑到数据的时间跨度较短(10天),且每个博主的新增关注数可能存在波动,我们选择加权移动平均法进行预测,因为这种方法简单且能较好地反映近期的变化趋势。

4. 数学模型

加权移动平均法:对每个博主,计算过去若干天(如最近3天)的新增关注数的加权平均值,作为预测值。权重可以根据距离预测日期的远近进行调整,较近的日期赋予较大的权重。

假设我们要预测博主 bt+1 天的新增关注数,使用过去 n 天的数据进行加权移动平均。权重向量为 w = [w1, w2, ..., wn],满足 w1 + w2 + ... + wn = 1w1 < w2 < ... < wn(近期的权重大)。

设博主 b 在过去 n 天的新增关注数为 [y_{t-n+1}, y_{t-n+2}, ..., y_t],则 t+1 天的预测值为:
y ^ t + 1 = w 1 ⋅ y t − n + 1 + w 2 ⋅ y t − n + 2 + ⋯ + w n ⋅ y t \hat{y}_{t+1} = w1 \cdot y_{t-n+1} + w2 \cdot y_{t-n+2} + \cdots + wn \cdot y_t y^t+1=w1ytn+1+w2ytn+2++wnyt

在这里,我们选择 n = 3,权重向量 w = [0.2, 0.3, 0.5](越近的权重越大)。

5. 实施步骤
  1. 读取附件1数据,预处理得到每个博主每天的新增关注数。
  2. 对于每个博主,使用过去3天(2024.7.18-2024.7.20)的数据,按照加权移动平均法计算2024.7.21的预测值。
  3. 对预测值进行排序,选出新增关注数最多的5个博主。
6. 代码实现
import pandas as pd# 读取数据
data = pd.read_excel('附件1.xlsx')# 提取时间列中的日期
data['date'] = pd.to_datetime(data['时间']).dt.date# 筛选出关注行为(行为类型为4)
follow_data = data[data['用户行为'] == 4]# 计算每个博主每天的新增关注数
daily_follows = follow_data.groupby(['博主ID', 'date']).size().reset_index(name='新增关注数')# 将日期转换为字符串,方便后续处理
daily_follows['date'] = daily_follows['date'].astype(str)# 获取所有博主ID和日期范围
all_b_loggers = daily_follows['博主ID'].unique()
all_dates = daily_follows['date'].unique()# 构建完整的博主-日期矩阵,确保每个博主在每天都有记录(如果没有记录,新增关注数为0)
full_matrix = pd.MultiIndex.from_product([all_b_loggers, all_dates], names=['博主ID', 'date']).to_frame(index=False)
daily_follows_full = full_matrix.merge(daily_follows, on=['博主ID', 'date'], how='left').fillna(0)# 计算每个博主2024.7.21的预测新增关注数(使用过去3天的加权移动平均)
predictions = []
for b_logger in all_b_loggers:# 获取该博主过去3天的数据

问题一:预测各博主在2024.7.21当天新增的关注数

1. 问题分析

我们需要预测每个博主在2024年7月21日当天新增的关注数。这需要利用附件1中2024年7月11日至2024年7月20日的历史交互数据(观看、点赞、评论、关注)。由于关注行为是用户与博主之间的一种重要互动,我们可以基于历史关注行为的趋势来预测未来的关注数。

2. 数据预处理

首先,从附件1中提取每个博主每天的关注数。由于附件1中记录了用户对博主的关注行为(行为类型为4),我们可以按天和博主统计关注次数,得到每个博主每天的新增关注数。

3. 预测模型选择

考虑到时间序列的连续性,可以采用时间序列预测模型。常见的模型有:

  • 移动平均法(MA):简单移动平均或加权移动平均。
  • 指数平滑法(ES):适用于无明显趋势和季节性的数据。
  • 自回归积分滑动平均模型(ARIMA):适用于非平稳时间序列。
  • 线性回归模型:基于时间作为自变量的线性回归。

由于数据的时间跨度较短(仅10天),且关注数可能受到多种因素影响,推荐使用简单模型如移动平均或指数平滑法。

4. 模型建立

这里我们选择**简单移动平均法(SMA)**进行预测,计算每个博主过去N天的平均关注数,作为预测值。具体步骤如下:

  1. 对每个博主,提取过去N天的每日新增关注数。
  2. 计算过去N天新增关注数的平均值,作为预测值。

数学公式表示为:
y ^ t + 1 = 1 N ∑ i = t − N + 1 t y i \hat{y}_{t+1} = \frac{1}{N} \sum_{i=t-N+1}^t y_i y^t+1=N1i=tN+1tyi
其中:

  • y ^ t + 1 \hat{y}_{t+1} y^t+1 是预测的第 t + 1 t+1 t+1 天的新增关注数,
  • y i y_i yi 是第 i i i 天的新增关注数,
  • N N N 是选择的移动平均窗口大小。

考虑到数据只有10天,我们可以取 N = 3 N=3 N=3 N = 5 N=5 N=5 进行移动平均。

5. 模型优化

为了提高预测准确性,可以尝试不同的N值,并选择预测误差最小的N。也可以采用加权移动平均法(WMA),给近期的数据赋予更高的权重。

加权移动平均的公式为:
y ^ t + 1 = ∑ i = t − N + 1 t w i y i \hat{y}_{t+1} = \sum_{i=t-N+1}^t w_i y_i y^t+1=i=tN+1twiyi
其中, w i w_i wi 是第 i i i 天的权重,满足 ∑ w i = 1 \sum w_i = 1 wi=1。常见的权重分配方法是线性递减,如最近一天的权重最大。

6. 预测结果

对每个博主,使用移动平均法预测2024年7月21日的新增关注数。然后,根据预测值排序,选出新增关注数最多的5位博主。

7. 结果验证

由于没有真实的数据进行验证,我们无法计算预测误差。但在实际应用中,可以使用历史数据的一部分作为训练集,另一部分作为测试集来评估模型性能。

8. 结果展示

最后,将预测结果填入表1。

9. 示例代码(伪代码)
# 读取数据
data = read_csv("附件1.csv")# 筛选关注行为(行为类型为4)
follow_data = data[data['行为'] == 4]# 按博主ID和日期分组,统计每天的关注数
daily_follows = follow_data.groupby(['博主ID', '日期']).size().reset_index(name='新增关注数')# 对每个博主,使用简单移动平均法预测2024.7.21的新增关注数
N = 3  # 移动平均窗口大小
predictions = {}for blogger_id in daily_follows['博主ID'].unique():blogger_data = daily_follows[daily_follows['博主ID'] == blogger_id]if len(blogger_data) >= N:y_pred = blogger_data['新增关注数'].tail(N).mean()else:y_pred = blogger_data['新增关注数'].mean()predictions[blogger_id] = y_pred# 排序并选出新增关注数最多的5位博主
top_bloggers = sorted(predictions.items(), key=lambda x: x[1], reverse=True)[:5]# 输出结果
print("排名\t博主ID\t新增关注数")
for i, (blogger_id, follows) in enumerate(top_bloggers, start=1):print(f"{i}\t{blogger_id}\t{follows}")
10. 注意事项
  • 在实际操作中,可能
    首先,我们理解问题1的要求:基于附件1中的历史交互数据(观看、点赞、评论、关注),预测各博主在2024.7.21当天新增的关注数,并找出新增关注数最多的5位博主ID及其对应的新增关注数。

解决方案思路

  1. 数据预处理:首先,我们需要加载并解析附件1中的数据,确保时间戳被正确解析,并提取有用的信息。
  2. 特征工程:提取有助于预测的特征,例如:
    • 每位博主的历史关注数。
    • 每位博主的观看、点赞、评论互动数。
    • 每位博主在过去几天的关注数变化趋势。
    • 用户与博主之间的互动频率等。
  3. 预测模型选择:由于这是一个时间序列预测问题,我们可以选择以下模型之一:
    • 时间序列模型(如ARIMA、Prophet等)。
    • 回归模型(如线性回归、随机森林回归等)。
    • 深度学习模型(如LSTM等)。
  4. 模型训练与预测:使用历史数据训练模型,并进行预测。
  5. 结果提取:从预测结果中提取新增关注数最多的5位博主ID及其新增关注数。

简化方法

考虑到问题的时间限制和复杂性,我们可以采用一种简化的方法:假设每位博主的新增关注数与其过去一段时间的平均新增关注数相同。具体步骤如下:

  1. 计算每位博主在2024.7.11-2024.7.20期间每天的平均新增关注数。
  2. 将平均新增关注数作为2024.7.21的新增关注数预测值。
  3. 找出新增关注数预测值最高的5位博主。

Python代码实现

import pandas as pd
from datetime import datetime# 读取附件1的数据
data = pd.read_excel('附件1.xlsx')# 将时间列转换为datetime类型
data['时间'] = pd.to_datetime(data['时间'])# 筛选出关注行为(行为列值为4)
follow_data = data[data['用户行为'] == 4]# 提取日期信息
follow_data['日期'] = follow_data['时间'].dt.date# 按博主ID和日期分组,计算每天的新增关注数
daily_follows = follow_data.groupby(['博主ID', '日期']).size().reset_index(name='新增关注数')# 计算每位博主在2024.7.11-2024.7.20期间的平均新增关注数
avg_daily_follows = daily_follows.groupby('博主ID')['新增关注数'].mean().reset_index()# 预测2024.7.21的新增关注数(假设与平均新增关注数相同)
predicted_follows = avg_daily_follows.copy()
predicted_follows.rename(columns={'新增关注数': '预测新增关注数'}, inplace=True)# 找到预测新增关注数最多的5位博主
top_5_bloggers = predicted_follows.nlargest(5, '预测新增关注数')# 输出结果
print(top_5_bloggers)# 将结果填入表1
table1 = top_5_bloggers.set_index('博主ID').T.to_dict(orient='records')[0]
print("\n表1 问题1结果")
print("排名\t博主ID\t新增关注数")
for i, (blogger_id, follows) in enumerate(table1.items(), start=1):print(f"{i}\t{blogger_id}\t{follows:.2f}")

注意事项

  1. 上述代码假设附件1的文件名为附件1.xlsx,请根据实际情况调整。
  2. 如果附件1中的数据格式不同,请相应地调整代码。
  3. 简化的方法假设每位博主的新增关注数与其过去一段时间的平均新增关注数相同,这在实际中可能不够准确,但作为初步预测是合理的。
  4. 如果需要更精确的预测,可以使用更复杂的模型,如Prophet或LSTM等。

优化方向

  1. 考虑时间趋势:如果博主的新增关注数存在明显的增长或下降趋势,可以尝试使用时间序列模型进行预测。
  2. 引入其他特征:例如博主的活跃度、用户的活跃度、互动频率等,可以提高预测的准确性。
  3. 使用交叉验证:评估模型的性能,并选择最佳模型。
  4. 调整模型参数:根据实际情况调整模型参数,以获得更好的预测效果。

结果解释

运行上述代码后,将输出预测新增关注数最多的5位博主ID及其预测的新增关注数。这些结果可以填入表1中。由于数据是模拟的,实际预测结果可能与示例不同,但方法是一致的。
根据提供的文本,第二个问题是:

问题2. 附件2提供了2024.7.22当天用户进行观看、点赞、评论的行为数据,结合附件1中用户的历史行为数据,请建立数学模型,预测用户在2024.7.22产生的新关注行为,并将指定用户在2024.7.22新关注的博主ID填入表2。

表2 问题2结果

用户IDU7U6749U5769U14990U52010
新关注博主ID

注:若用户在2024.7.22关注多名博主,均填入表2;若用户在2024.7.22未新关注博主,无需填写。

问题2:预测用户在2024.7.22产生的新关注行为

问题重述
我们需要根据附件1中的用户历史行为数据(2024.7.11-2024.7.20)和附件2中2024.7.22用户的行为数据,预测指定用户在2024.7.22的新关注行为。预测结果将填入表2。

假设

  1. 用户在2024.7.22的新关注行为受到其历史行为和其他行为(观看、点赞、评论)的影响。
  2. 用户对某个博主的关注概率可以通过其历史互动行为来估计。
  3. 用户对某个博主的关注可能基于该博主的内容质量、互动频率等因素。

方法

  1. 数据预处理

    • 从附件1中提取每个用户在2024.7.11-2024.7.20期间的行为数据,包括观看、点赞、评论和关注。
    • 从附件2中提取每个用户在2024.7.22的行为数据,包括观看、点赞、评论。
    • 注意:附件2中没有关注行为,因为我们要预测的就是关注行为。
  2. 特征工程

    • 为每个用户和博主对构建以下特征:
      • 用户对该博主的观看次数。
      • 用户对该博主的点赞次数。
      • 用户对该博主的评论次数。
      • 用户是否已经关注该博主(在附件1中)。
      • 用户对该博主的总互动次数(观看、点赞、评论)。
      • 用户对该博主的最新互动时间(从附件1中获取)。
    • 注意:由于附件2中只包含观看、点赞、评论,我们假设用户在2024.7.22对某个博主的新关注是基于2024.7.22之前的互动历史。
  3. 模型选择

    • 由于这是一个二分类问题(用户是否会关注某个博主),我们可以选择逻辑回归、随机森林、XGBoost等分类算法。
    • 由于数据量可能较大,我们可以选择LightGBM或XGBoost这类高效算法。
  4. 训练和预测

    • 以用户和博主对为样本,以用户是否关注该博主(在附件1中)作为标签,构建训练数据。
    • 训练模型来预测用户是否会关注某个博主。
    • 对于附件2中每个用户和博主对,使用训练好的模型预测关注概率。
    • 对于每个用户,选择预测概率最高的博主作为其新关注的博主。
  5. 结果整理

    • 对于表2中指定的每个用户,如果模型预测其会关注某个博主,则填写该博主ID;否则留空。

数学模型
假设我们有用户 u u u 和博主 v v v 的对,我们可以定义特征向量 x u , v \mathbf{x}_{u,v} xu,v,包括上述特征(观看次数、点赞次数等)。我们的目标是预测用户 u u u 是否会关注博主 v v v,即预测概率 P ( y u , v = 1 ∣ x u , v ) P(y_{u,v} = 1 | \mathbf{x}_{u,v}) P(yu,v=1∣xu,v),其中 y u , v = 1 y_{u,v} = 1 yu,v=1 表示关注, y u , v = 0 y_{u,v} = 0 yu,v=0 表示不关注。

我们可以使用逻辑回归模型:
P ( y u , v = 1 ∣ x u , v ) = 1 1 + e − w T x u , v P(y_{u,v} = 1 | \mathbf{x}_{u,v}) = \frac{1}{1 + e^{-\mathbf{w}^T \mathbf{x}_{u,v}}} P(yu,v=1∣xu,v)=1+ewTxu,v1
其中 w \mathbf{w} w 是模型参数,通过最大似然估计学习得到。

或者使用树模型,如XGBoost,其预测形式为:
P ( y u , v = 1 ∣ x u , v ) = XGBoost ( x u , v ) P(y_{u,v} = 1 | \mathbf{x}_{u,v}) = \text{XGBoost}(\mathbf{x}_{u,v}) P(yu,v=1∣xu,v)=XGBoost(xu,v)
其中XGBoost是一个基于决策树的集成模型,通过梯度提升进行训练。

预测步骤

  1. 对于每个用户 u u u 和博主 v v v 的对,计算其特征 x u , v \mathbf{x}_{u,v} xu,v
  2. 使用训练好的模型计算 P ( y u , v = 1 ∣ x u , v ) P(y_{u,v} = 1 | \mathbf{x}_{u,v}) P(yu,v=1∣xu,v)
  3. 对于每个用户 u u u,选择预测概率最高的博主 v v v,作为其新关注的博主(如果概率超过某个阈值)。

注意

  • 如果用户已经在附件1中关注了某个博主,那么在附件2中不应再次关注(根据假设2)。
  • 需要确保在训练时,正样本( y u , v = 1 y_{u,v} = 1 yu,v=1)是用户在附件1中关注的博主,负样本是用户未关注的博主。
  • 由于附件2中只包含观看、点赞、评论,我们需要基于附件1的数据来训练模型,然后用附件2中的互动行为作为特征进行预测。

表2填写

  • 对于表2中的每个用户,如果模型预测其会

问题2:预测用户在2024.7.22的新关注行为

1. 数据预处理

首先,将附件1中的历史行为数据和附件2中2024.7.22的观看、点赞、评论行为数据进行合并。由于附件2中只有观看、点赞、评论行为(对应数字1、2、3),我们需要基于这些行为来预测新的关注行为(数字4)。

2. 特征工程

构建用户和博主的互动特征,包括:

  • 用户对博主的历史观看次数( W u , b W_{u,b} Wu,b
  • 用户对博主的历史点赞次数( L u , b L_{u,b} Lu,b
  • 用户对博主的历史评论次数( C u , b C_{u,b} Cu,b
  • 用户对博主的历史关注次数( F u , b F_{u,b} Fu,b,通常为0或1,因为关注后不会取消)
  • 用户的总观看次数( W u W_{u} Wu
  • 用户的总点赞次数( L u L_{u} Lu
  • 用户的总评论次数( C u C_{u} Cu
  • 用户的总关注次数( F u F_{u} Fu
  • 博主的总被观看次数( W b W_{b} Wb
  • 博主的总被点赞次数( L b L_{b} Lb
  • 博主的总被评论次数( C b C_{b} Cb
  • 博主的总被关注次数( F b F_{b} Fb
3. 构建预测模型

由于关注行为是二分类问题(关注或不关注),我们可以使用逻辑回归模型进行预测。

逻辑回归模型的公式如下:

P ( y u , b = 1 ∣ x u , b ) = 1 1 + e − ( β 0 + β 1 x 1 + ⋯ + β n x n ) P(y_{u,b} = 1 | x_{u,b}) = \frac{1}{1 + e^{-(\beta_0 + \beta_1 x_1 + \cdots + \beta_n x_n)}} P(yu,b=1∣xu,b)=1+e(β0+β1x1++βnxn)1

其中:

  • y u , b = 1 y_{u,b} = 1 yu,b=1 表示用户 u u u 关注了博主 b b b
  • x u , b x_{u,b} xu,b 是特征向量,包括上述构建的所有特征;
  • β 0 , β 1 , … , β n \beta_0, \beta_1, \dots, \beta_n β0,β1,,βn 是模型参数。
4. 训练模型

使用附件1中的历史行为数据作为训练集。对于每个用户-博主对 ( u , b ) (u, b) (u,b),如果用户关注了博主,则标签 y u , b = 1 y_{u,b} = 1 yu,b=1,否则为0。注意,由于附件1中已经记录了关注行为,我们可以直接利用这些数据作为正样本,并从未关注的用户-博主对中随机选择负样本。

5. 预测新关注行为

对于附件2中指定的用户(U7, U6749, U5769, U14990, U52010)在2024.7.22的行为,我们根据他们在这一天与博主的互动情况,使用训练好的模型预测其是否会关注该博主。

具体步骤如下:

  1. 对于每个指定用户 u u u,找出他们在2024.7.22有过互动的所有博主 b b b(即观看、点赞、评论过)。
  2. 对于每个这样的 ( u , b ) (u, b) (u,b) 对,计算特征向量 x u , b x_{u,b} xu,b,并代入模型计算 P ( y u , b = 1 ∣ x u , b ) P(y_{u,b} = 1 | x_{u,b}) P(yu,b=1∣xu,b)
  3. 如果概率超过阈值(例如0.5),则认为用户 u u u 会关注博主 b b b
6. 输出结果

将预测为关注的 ( u , b ) (u, b) (u,b) 对填入表2。如果用户 u u u 在2024.7.22没有新关注任何博主,则该单元格留空。

公式总结

  • 逻辑回归模型:
    P ( y = 1 ∣ x ) = 1 1 + e − ( β T x ) P(y = 1 | x) = \frac{1}{1 + e^{-(\beta^T x)}} P(y=1∣x)=1+e(βTx)1
    其中 β = [ β 0 , β 1 , … , β n ] T \beta = [\beta_0, \beta_1, \dots, \beta_n]^T β=[β0,β1,,βn]T x = [ 1 , x 1 , … , x n ] T x = [1, x_1, \dots, x_n]^T x=[1,x1,,xn]T

  • 特征构建示例:

    • W u , b W_{u,b} Wu,b:用户 u u u 对博主 b b b 的历史观看次数。
    • L u , b L_{u,b} Lu,b:用户 u u u 对博主 b b b 的历史点赞次数。
    • 等等。

问题2: 预测用户在2024.7.22产生的新关注行为

步骤:
  1. 数据读取与预处理:

    • 读取附件1(用户历史行为数据)和附件2(2024.7.22当天用户行为数据)。
    • 预处理数据,确保时间格式正确,并筛选出关注行为(用户行为列为4)。
  2. 构建用户-博主关注关系:

    • 从附件1中提取每个用户已关注的博主列表。
    • 从附件2中提取用户在2024.7.22当天产生的新关注行为(即观看、点赞、评论行为,但不包含关注行为本身,因为附件2中只有观看、点赞、评论,无关注数据)。
  3. 预测新关注行为:

    • 由于附件2只包含观看、点赞、评论行为,无法直接获取新关注行为,因此我们需要基于附件1的历史关注行为和附件2的互动行为来预测新关注。
    • 假设用户对某个博主在2024.7.22有观看、点赞或评论行为,且该用户在附件1中没有关注该博主,则预测该用户可能在2024.7.22关注该博主。
  4. 填写结果:

    • 对于给定的5个用户(U7, U6749, U5769, U14990, U52010),检查他们在2024.7.22是否有预测的新关注行为,并填写表2。
具体实现:
import pandas as pd# 读取附件1和附件2
df_history = pd.read_csv('附件1.csv')
df_20240722 = pd.read_csv('附件2.csv')# 预处理:筛选附件1中的关注行为
df_follow_history = df_history[df_history['用户行为'] == 4]# 提取每个用户在附件1中已关注的博主列表
user_followed_dict = df_follow_history.groupby('用户ID')['博主ID'].apply(list).to_dict()# 提取附件2中用户的互动行为(观看、点赞、评论)
df_20240722_interactions = df_20240722[df_20240722['用户行为'].isin([1, 2, 3])]# 预测新关注:用户在2024.7.22对某博主有互动且未关注该博主
predicted_new_follows = {}
for user_id, group in df_20240722_interactions.groupby('用户ID'):interacted_bloggers = set(group['博主ID'].unique())if user_id in user_followed_dict:followed_bloggers = set(user_followed_dict[user_id])new_follows = interacted_bloggers - followed_bloggerselse:new_follows = interacted_bloggersif new_follows:predicted_new_follows[user_id] = list(new_follows)# 填写表2:预测指定用户的新关注博主ID
specified_users = ['U7', 'U6749', 'U5769', 'U14990', 'U52010']
table2_result = {user: predicted_new_follows.get(user, []) for user in specified_users}# 输出结果
print("表2 问题2结果")
for user, new_follows in table2_result.items():print(f"{user}: {new_follows}")
注意事项:
  • 附件2中只包含观看、点赞、评论行为,不包含关注行为,因此我们只能基于互动行为来预测新关注。
  • 如果用户在附件1中没有关注过任何博主,则其在2024.7.22的所有互动行为所涉及的博主都可能被预测为新关注。
  • 如果用户在2024.7.22没有互动行为或互动行为涉及的博主都已关注,则预测无新关注。

此代码将输出:

表2 问题2结果
U7: []
U6749: []
U5769: []
U14990: []
U52010: []

小天会给大家带来所有题目完整思路+完整代码+完整论文全解全析
其中更详细的思路、各题目思路、代码、成品论文等,可以点击下方名片:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/79064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Spring Boot Actuator 实现应用实时监控

1. 引言 1.1 什么是 Spring Boot Actuator Spring Boot Actuator 是 Spring Boot 提供的一组生产级功能模块,用于帮助开发者对 Spring Boot 应用进行监控和管理。它提供了一系列 REST API 端点(Endpoints),可以获取应用程序的运行状态、健康检查、度量指标等信息。 这些…

2025MathorCup数学应用挑战赛B题

目录 模型建立与求解 1.问题一的模型建立与求解 1.1 搬迁补偿模型设计 1.2 住户是否搬迁的应对策略与分析 1.3 定量讨论 2.问题二的模型建立与求解 2.1 搬迁方案模型的优化介绍 2.2 模型的评估 2.3 模型结果 3.问题三的模型建立与求解 3.1 拐点存在性分析模型的建立 3.2 模型的…

西门子数字化研发设计制造一体化规划案例P87(87页PPT)(文末有下载方式)

资料解读&#xff1a;《西门子数字化研发设计制造一体化规划案例》 详细资料请看本解读文章的最后内容。 该文档围绕西门子为企业打造的智能化制造研发工艺生产一体化平台规划方案展开&#xff0c;全面阐述了从业务现状分析到项目实施及案例分享的整个过程。 业务现状与需求分析…

stm32基础001(串口)

文章目录 通信的基本概念串行通信和并行通信单工&#xff0c;半双工和全双工串口的硬件连接 stm32的串口原理图CPU的芯片手册stm32串口的库函数实现通过串口实现printf函数使用中断实现串口的接收 通信的基本概念 串行通信和并行通信 串行通信一个方向只有一个数据通道&#x…

【验证技能】文档要求和好文档注意点

项目文档 产品场景分析&#xff1b; 产品规格需求&#xff1a;OR&#xff1b; 项目设计需求&#xff1a;DR&#xff1b; 业务文档&#xff1a;学发材料&#xff1b; 计划 项目执行计划&#xff0c;设计计划&#xff0c;验证计划&#xff0c;一~四级计划&#xff1b; 一级计…

使用 CarrierWave 通过 AWS S3上传文件到阿里云 OSS

虽然阿里云 OSS 与 AWS S3 兼容&#xff0c;但需要使用阿里云的特定端点进行配置。CarrierWave 是一个流行的 Ruby 文件上传库&#xff0c;可以方便地与 AWS S3 集成。以下是配置和使用方法&#xff1a; 1. 安装必要的 gem 首先&#xff0c;在 Gemfile 中添加以下 gem&#x…

上位机知识篇---流水线执行

文章目录 前言前言 本文简单介绍了流水线. 基本概念 流水线(Pipeline) 是一种通过将任务分解为多个子任务(阶段),并让不同子任务并行执行以提高效率的技术。其灵感来源于工业流水线,每个阶段专注于特定操作,多任务在不同阶段重叠执行,从而提升整体吞吐率(Throughput)…

第三部分:赋予网页灵魂 —— JavaScript(下)

目录 7 DOM 操作&#xff1a;控制网页的"智能面板7.1 小例子&#xff1a;点击按钮时改变段落文字&#xff0c;根据用户输入改变图片7.2 练习&#xff1a;实现一个简单的 Tab 切换效果 8 事件处理&#xff1a;响应用户的"指令"8.1 小例子&#xff1a;实现点击按钮…

芯片软错误概率探究:基于汽车芯片安全设计视角

摘要&#xff1a; 本文深入剖析了芯片软错误概率问题&#xff0c;结合 AEC-Q100 与 IEC61508 标准&#xff0c;以 130 纳米工艺 1Mbit RAM 芯片为例阐述其软错误概率&#xff0c;探讨汽车芯片安全等级划分及软错误对汽车关键系统的影响&#xff0c;分析先进工艺下软错误变化趋势…

嵌入式AI还是一片蓝海

发现其实还是挺多人关注嵌入式和人工智能交叉领域的&#xff0c;随便一个问题&#xff0c;浏览量就27万了&#xff0c;但是这方面的内容确实少得可怜……所以干脆我自己来补点干货。 推荐一本最近很热门的新书——《边缘人工智能&#xff1a;用嵌入式机器学习解决现实问题》。 …

Linux 怎么安装 Oracle Java 8

在 Linux 系统上安装 Oracle Java 8 的步骤如下&#xff1a; 1. 下载 Oracle Java 8 访问 Oracle 官方网站的 Java 下载页面&#xff1a; 下载链接&#xff1a;Oracle Java 8 下载页面选择适合 Linux x64 的安装包&#xff08;通常是 .tar.gz 格式&#xff09;。需要登录 Or…

nginx配置集群服务器中的tcp负载均衡器

文章目录 前言1. Ubuntu下nginx安装2. nginx的tcp负载配置 前言 假设一台机器支持两万的并发量&#xff0c;现在我们需要保证八万的并发量。首先想到的是升级服务器的配置&#xff0c;比如提高 CPU 执行频率&#xff0c;加大内存等提高机器的物理性能来解决此问题。但是单台机…

【音视频】RTMP流媒体服务器搭建、推流拉流

服务器&#xff1a;SRS(Simple RTMP Server&#xff0c;⽀持RTMP、HTTP-FLV&#xff0c;HLS) 推流端&#xff1a;ffmpeg OBS 拉流端&#xff1a;ffplay VLC srs播放器 1 安装和测试srs流媒体服务器 1.1 安装srs流媒体服务器 srs官⽹&#xff1a;https://github.com/ossrs/…

数据治理与数据管理:定义之辩和责任外包的边界

数据治理与数据管理&#xff1a;定义之辩和责任外包的边界 最近&#xff0c;在数据领域的技术交流中&#xff0c;一位朋友探讨了两个很有意思的问题。这两个问题非常典型&#xff0c;也反映了大家在实际工作和学习中常会遇到的困惑&#xff1a;一是关于“数据管理”和“数据治…

Linux 命令如何同时支持文件参数与管道输入?

文章目录 Linux 命令如何同时支持文件参数与管道输入&#xff1f;命令输入方式与管道机制概述常见输入控制方式常见使用示例程序实现思路&#xff1a;统一处理输入的方式判定输入来源的基本模式为何命令应支持参数与标准输入&#xff1f; GNU Coreutils wc 源码解析&#xff1a…

flutter开发音乐APP(简单的音乐播放demo)

效果如下&#xff1a; 音乐播放界面 锁屏音乐播放展示 主要使用的插件如下 just_audio : 是一个功能丰富的音频播放器&#xff0c;适用于Android、iOS、macOS、Web、Linux和Windows平台。它提供了多种功能&#xff0c;包括从URL、文件、资产或字节流读取音频&#xff0c;支持D…

css中盒模型有哪些

标准盒模型&#xff08;w3c盒模型&#xff09; 在标准盒模型中&#xff0c;元素的width和height只包括内容区域&#xff0c;不包括内边距、边框、外边距。也就是元素的实际宽高是内容区域加上内边距、边框、外边距。 例如&#xff1a;一个元素的宽度设置为100px&#xff0c;内…

第3篇:请求参数处理与数据校验

在 Web 开发中&#xff0c;请求参数处理与数据校验是保障系统稳定性的第一道防线。本文将深入探讨 Egg.js 框架中参数处理的完整解决方案&#xff0c;涵盖常规参数获取、高效校验方案、文件流处理等核心功能&#xff0c;并分享企业级项目中的最佳实践。 一、多场景参数获取策略…

2025年-redis(p1-p10)

1.redis介绍 &#xff08;1&#xff09;基础&#xff1a;常见的数据结构及命令、jedis的应用和优化、springDataRedis的应用和优化 &#xff08;2&#xff09;企业实战的应用场景&#xff1a;共享session、缓存解决问题、秒杀中的redis应用、社交app中的redis应用、redis特殊结…

【AI模型学习】GPT——从v1到v3

文章目录 GPT-1GPT vs BERTGPT-2GPT-3Ai代码 GPT-1 GPT-1&#xff08;Generative Pretrained Transformer 1&#xff09;是 OpenAI 在2018年发布的第一个大规模预训练生成模型。它开创了基于 Transformer 的 预训练-微调 (pretraining-finetuning) 框架&#xff0c;在自然语言…