2026/4/6 4:03:25
网站建设
项目流程
江苏常州青之峰做网站,贵阳网站建设设计公司哪家好,旅游营销网站建设,wordpress 检索插件2025年小红书创作者影响力分析报告#xff1a;基于10.5万条数据构建评估模型#xff0c;识别高影响力内容特征#xff0c;优化推荐算法与运营策略#xff0c;涵盖用户分层、互动数据、地理位置分布#xff0c;提供内容策略优化与创作者成长建议。
报告标题#xff1a;小…2025年小红书创作者影响力分析报告基于10.5万条数据构建评估模型识别高影响力内容特征优化推荐算法与运营策略涵盖用户分层、互动数据、地理位置分布提供内容策略优化与创作者成长建议。报告标题小红书内容创作者影响力与内容策略优化分析一、场景背景与价值业务背景小红书作为中国领先的生活方式分享平台拥有超过3亿用户其中内容创作者是平台生态的核心驱动力。随着平台商业化进程的加速如何识别高影响力创作者、优化内容推荐算法、提升用户粘性成为平台运营的关键挑战。通过分析10.5万条真实内容数据我们可以深入理解创作者影响力形成机制为平台运营和创作者成长提供数据支撑。本报告目标通过多维度数据分析构建创作者影响力评估模型识别高影响力内容的关键特征为内容策略优化提供科学依据和可操作建议。二、数据初探与预处理数据加载与概览本数据集包含105,000条小红书内容记录每条记录包含25个字段涵盖内容信息、用户特征、地理位置、情感分析、互动数据等多个维度。数据时间跨度从2025年9月1日到9月25日覆盖全国35个省份、323个城市的内容创作者。数据清洗过程缺失值处理数据质量良好无缺失值所有字段完整度100%数据类型转换将粉丝数、互动数据等数值字段转换为正确的数值类型异常值处理发现粉丝数存在极端异常值最大17亿通过分层分析处理特征工程创建用户影响力分层、内容质量评分、用户活跃度等衍生特征数据质量评估平均粉丝数16人中位数10人存在明显长尾分布平均内容长度216.3字符平均标签数7.7个平均总互动数1.87次三、探索性数据分析EDA与核心洞察用户影响力分层分析通过粉丝数分层发现平台用户呈现明显的金字塔结构新手创作者0-100粉丝72,133人68.7%成长创作者100-1K粉丝13,309人12.7%成熟创作者1K-10K粉丝3,910人3.7%大V创作者10K-100K粉丝9人0.01%超级大V100K粉丝16人0.02%内容互动特征分析互动数据呈现极度不均衡分布点赞数平均1.23次中位数0次最大37,787次分享数平均0.15次中位数0次最大3,167次收藏数平均0.35次中位数0次最大10,521次评论数平均0.14次中位数0次最大5,374次地理位置分布洞察内容创作呈现明显的地域集中特征广东省5,547条5.3%内容创作最活跃北京市3,031条2.9%高质量内容集中江苏省3,006条2.9%内容多样性丰富一线城市北京、上海、深圳、广州占总内容的12.1%内容主题分析通过标签分析发现热门内容主题#美食3,732次最受欢迎的内容类型#旅游3,345次生活方式分享核心#旅游万粉扶持计划2,508次平台活动参与度高#穿搭相关标签占据前20中的8个位置情感分析结果中性情感099,421条94.7%内容整体积极正面正面情感1-23,571条3.4%负面情感-1至-61,008条1.9%四、场景建模与实现模型选择与原理选择随机森林回归模型进行影响力预测原因如下非线性关系处理能够捕捉特征间的复杂交互关系特征重要性分析提供可解释的特征权重鲁棒性强对异常值和噪声数据不敏感处理能力强适合处理大规模数据集特征工程策略构建11个核心特征用户特征粉丝数、关注数、认证状态、影响力分层内容特征标题长度、内容长度、标签数量、内容质量评分行为特征用户活跃度评分、情感倾向模型实现与评估训练集84,009条记录80%测试集21,003条记录20%特征重要性分析内容质量评分43.63%最重要标签数量14.30%标签数量12.65%标题长度11.90%内容长度9.39%五、完整代码实现带详细注释# -*- coding: utf-8 -*- 小红书内容创作者影响力分析完整代码 作者数据分析专家 日期2025年1月 import json import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from collections import Counter import re from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestRegressor from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error, r2_score from sklearn.preprocessing import StandardScaler # 设置中文字体 plt.rcParams[font.sans-serif] [Arial Unicode MS, SimHei] plt.rcParams[axes.unicode_minus] False def load_and_clean_data(file_path): 加载和清洗小红书数据 Args: file_path: JSON数据文件路径 Returns: pd.DataFrame: 清洗后的数据框 print( 开始数据加载和清洗 ) # 读取原始数据 data [] with open(file_path, r, encodingutf-8) as f: for line in f: try: data.append(json.loads(line.strip())) except: continue print(f成功读取 {len(data)} 条原始数据) # 数据清洗和特征提取 cleaned_data [] for i, record in enumerate(data): try: if data not in record: continue data_info record[data] # 提取基础信息 record_id record.get(id, ) title data_info.get(title, ) content data_info.get(content, ) # 提取用户信息 user_info data_info.get(user, {}) user_name user_info.get(name, ) user_gender user_info.get(gender, ) followers_count user_info.get(followers_count, 0) friends_count user_info.get(friends_count, 0) verified user_info.get(verified, 0) # 提取地理位置信息 analysis data_info.get(analysis, {}) find_address analysis.get(find_address, {}) province find_address.get(province, []) city find_address.get(city, []) # 提取情感分析 sentiment analysis.get(sentiment, 0) # 提取标签信息 tags analysis.get(tag, []) tag_count len(tags) # 提取时间信息 ctime data_info.get(ctime, 0) utime data_info.get(utime, 0) # 提取互动数据 like_count data_info.get(like_count, 0) share_count data_info.get(share_count, 0) collection_count data_info.get(collection_count, 0) reply_count data_info.get(reply_count, 0) visit_count data_info.get(visit_count, 0) # 计算内容长度 title_length len(title) if title else 0 content_length len(content) if content else 0 # 提取标签文本 hashtags re.findall(r#([^#\\s]), content) hashtag_count len(hashtags) # 计算影响力指标 total_interaction like_count share_count collection_count reply_count cleaned_record { id: record_id, title: title, content: content, user_name: user_name, user_gender: user_gender, followers_count: followers_count, friends_count: friends_count, verified: verified, province: province[0] if province else , city: city[0] if city else , sentiment: sentiment, tag_count: tag_count, ctime: ctime, utime: utime, like_count: like_count, share_count: share_count, collection_count: collection_count, reply_count: reply_count, visit_count: visit_count, title_length: title_length, content_length: content_length, hashtag_count: hashtag_count, total_interaction: total_interaction, hashtags: hashtags } cleaned_data.append(cleaned_record) except Exception as e: if i 10: # 只打印前10个错误 print(f处理第{i}条记录时出错: {e}) continue print(f成功处理 {len(cleaned_data)} 条数据) # 转换为DataFrame df pd.DataFrame(cleaned_data) # 转换数值列 numeric_cols [followers_count, friends_count, verified, like_count, share_count, collection_count, reply_count, visit_count, title_length, content_length, hashtag_count, total_interaction, sentiment, tag_count] for col in numeric_cols: if col in df.columns: df[col] pd.to_numeric(df[col], errorscoerce) return df def create_visualizations(df): 创建数据可视化图表 Args: df: 清洗后的数据框 print( 创建可视化图表 ) # 创建图表 fig, axes plt.subplots(2, 3, figsize(18, 12)) fig.suptitle(小红书内容创作者影响力分析 - 数据可视化, fontsize16, fontweightbold) # 1. 用户粉丝数分布对数尺度 ax1 axes[0, 0] followers_clean df[df[followers_count] 1000000][followers_count] ax1.hist(np.log10(followers_clean 1), bins50, alpha0.7, colorskyblue, edgecolorblack) ax1.set_xlabel(粉丝数对数尺度) ax1.set_ylabel(频次) ax1.set_title(用户粉丝数分布) ax1.set_xticks([0, 1, 2, 3, 4, 5, 6]) ax1.set_xticklabels([1, 10, 100, 1K, 10K, 100K, 1M]) # 2. 内容互动数据分布 ax2 axes[0, 1] interaction_data [df[like_count], df[share_count], df[collection_count], df[reply_count]] interaction_labels [点赞, 分享, 收藏, 评论] ax2.boxplot(interaction_data, labelsinteraction_labels) ax2.set_ylabel(互动数量) ax2.set_title(内容互动数据分布) ax2.set_yscale(log) # 3. 用户分层分布 ax3 axes[0, 2] df[follower_tier] pd.cut(df[followers_count], bins[0, 100, 1000, 10000, 100000, float(inf)], labels[新手(0-100), 成长(100-1K), 成熟(1K-10K), 大V(10K-100K), 超级大V(100K)]) tier_counts df[follower_tier].value_counts() colors [#ff9999, #66b3ff, #99ff99, #ffcc99, #ff99cc] wedges, texts, autotexts ax3.pie(tier_counts.values, labelstier_counts.index, autopct%1.1f%%, colorscolors, startangle90) ax3.set_title(用户影响力分层分布) # 4. 地理位置分布TOP10省份 ax4 axes[1, 0] province_counts df[province].value_counts().head(10) bars ax4.barh(range(len(province_counts)), province_counts.values, colorlightcoral) ax4.set_yticks(range(len(province_counts))) ax4.set_yticklabels(province_counts.index) ax4.set_xlabel(内容数量) ax4.set_title(省份内容分布TOP10) ax4.invert_yaxis() # 5. 内容长度与互动关系 ax5 axes[1, 1] sample_df df.sample(nmin(10000, len(df))) ax5.scatter(sample_df[content_length], sample_df[total_interaction], alpha0.5, s20, colorpurple) ax5.set_xlabel(内容长度字符) ax5.set_ylabel(总互动数) ax5.set_title(内容长度与互动关系) ax5.set_yscale(log) # 6. 发布时间分布 ax6 axes[1, 2] df[create_time] pd.to_datetime(df[ctime], units) df[hour] df[create_time].dt.hour hour_distribution df[hour].value_counts().sort_index() ax6.plot(hour_distribution.index, hour_distribution.values, markero, linewidth2, markersize6) ax6.set_xlabel(发布时间小时) ax6.set_ylabel(内容数量) ax6.set_title(内容发布时间分布) ax6.set_xticks(range(0, 24, 2)) ax6.grid(True, alpha0.3) #数据集获取| [10万条小红书笔记链接](https://dianshudata.com/dataDetail/13711) plt.tight_layout() plt.savefig(xiaohongshu_analysis_charts.png, dpi300, bbox_inchestight) plt.show() print(图表已保存为 xiaohongshu_analysis_charts.png) def build_influence_model(df): 构建影响力预测模型 Args: df: 清洗后的数据框 Returns: tuple: (模型, 特征重要性, 评估指标) print( 构建影响力预测模型 ) # 特征工程 df[follower_tier] pd.cut(df[followers_count], bins[0, 100, 1000, 10000, 100000, float(inf)], labels[0, 1, 2, 3, 4]) # 内容质量指标 df[content_quality_score] (df[title_length] * 0.3 df[content_length] * 0.4 df[hashtag_count] * 0.3) # 用户活跃度指标 df[user_activity_score] (df[friends_count] * 0.3 df[followers_count] * 0.7) # 选择特征 feature_cols [ followers_count, friends_count, verified, follower_tier, title_length, content_length, hashtag_count, tag_count, content_quality_score, user_activity_score, sentiment ] target_col total_interaction # 准备数据 X df[feature_cols].fillna(0) y df[target_col].fillna(0) # 数据分割 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42) # 训练随机森林模型 rf_model RandomForestRegressor(n_estimators100, random_state42, n_jobs-1) rf_model.fit(X_train, y_train) rf_pred rf_model.predict(X_test) rf_r2 r2_score(y_test, rf_pred) rf_rmse np.sqrt(mean_squared_error(y_test, rf_pred)) # 特征重要性 feature_importance pd.DataFrame({ feature: feature_cols, importance: rf_model.feature_importances_ }).sort_values(importance, ascendingFalse) print(f随机森林模型 - R²: {rf_r2:.4f}, RMSE: {rf_rmse:.4f}) return rf_model, feature_importance, (rf_r2, rf_rmse) def main(): 主函数执行完整的数据分析流程 print(开始小红书内容创作者影响力分析) # 1. 数据加载和清洗 df load_and_clean_data(xiaohongshu.json) # 2. 保存清洗后的数据 df.to_csv(xiaohongshu_cleaned.csv, indexFalse, encodingutf-8) print(清洗后的数据已保存到 xiaohongshu_cleaned.csv) # 3. 创建可视化 create_visualizations(df) # 4. 构建模型 model, feature_importance, metrics build_influence_model(df) # 5. 输出结果 print(\\n 分析完成 ) print(f数据量: {len(df)} 条) print(f模型R²: {metrics[0]:.4f}) print(f模型RMSE: {metrics[1]:.4f}) print(\\n特征重要性TOP5:) for idx, row in feature_importance.head().iterrows(): print(f{row[feature]}: {row[importance]:.4f}) if __name__ __main__: main()六、总结与业务建议分析总结通过对10.5万条小红书内容的深度分析我们发现了几个关键洞察1平台用户呈现明显的金字塔结构68.7%为新手创作者2内容互动呈现极度不均衡分布大部分内容互动数为03内容质量评分是影响互动的最重要因素43.63%4美食和旅游是平台最受欢迎的内容类型5一线城市创作者贡献了12.1%的内容。业务建议平台运营优化建立分层激励机制为不同层级创作者提供差异化支持优化推荐算法重点关注内容质量评分加强地域内容平衡鼓励二三线城市创作者参与。创作者成长策略重点提升内容质量包括标题吸引力、内容深度和标签使用建议创作者关注美食、旅游等热门领域合理使用标签提升内容曝光度。商业化建议品牌方应重点关注内容质量评分高的创作者优先选择一线城市和热门省份的创作者进行合作关注情感倾向积极的内容创作者。