作者计算机毕业设计江挽个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持网站实战项目安卓/小程序实战项目大数据实战项目深度学习实战项目目录基于大数据的游戏化 x 视觉搜索实验分析与可视化介绍基于大数据的游戏化 x 视觉搜索实验分析与可视化演示视频基于大数据的游戏化 x 视觉搜索实验分析与可视化演示图片基于大数据的游戏化 x 视觉搜索实验分析与可视化代码展示基于大数据的游戏化 x 视觉搜索实验分析与可视化文档展示基于大数据的游戏化 x 视觉搜索实验分析与可视化介绍本系统名为《基于大数据的游戏化 x 视觉搜索实验分析与可视化》面向计算机专业毕业设计场景围绕游戏化条件下视觉搜索实验所产生的多维度数据展开分析与展示。系统以 Hadoop 与 Spark 作为大数据处理核心借助 HDFS 完成实验数据的分布式存储通过 Spark SQL 与 Pandas、NumPy 对视觉搜索信息、搜索绩效、主观体验、游戏条件、时间感知、任务难度、模式效应以及行为分群等数据进行清洗、统计与建模并在此基础上构建可视化大屏。后端提供 Django 与 Spring Boot 两套实现版本前者基于 Python 技术栈后者基于 Java 技术栈二者均负责实验数据管理、指标计算调度与结果接口输出。前端采用 Vue、ElementUI、Echarts 并结合 HTML、CSS、JavaScript、jQuery 完成页面交互与图表渲染数据库使用 MySQL 存储实验元数据与用户信息。系统功能覆盖视觉搜索信息管理、搜索绩效分析、主观体验分析、游戏条件分析、时间感知分析、任务难度分析、模式效应分析与行为分群分析能够将原始实验记录转化为可解释的统计指标与可视化结果帮助使用者直观理解游戏化机制对视觉搜索行为的影响。基于大数据的游戏化 x 视觉搜索实验分析与可视化演示视频演示视频基于大数据的游戏化 x 视觉搜索实验分析与可视化演示图片基于大数据的游戏化 x 视觉搜索实验分析与可视化代码展示frompyspark.sqlimportSparkSessionfrompyspark.sql.functionsimportcol,avg,count,when,desc,sumas_sumimportpandasaspdimportnumpyasnp sparkSparkSession.builder.appName(GameVisualSearchAnalysis).master(local[*]).config(spark.sql.shuffle.partitions,4).enableHiveSupport().getOrCreate()defanalyze_search_performance():dfspark.read.option(header,true).option(inferSchema,true).csv(hdfs://localhost:9000/visual_search/experiment_logs.csv)df_cleandf.filter(col(search_time).isNotNull()col(task_difficulty).isNotNull()).withColumn(search_efficiency,col(correct_count)/col(search_time))df_groupdf_clean.groupBy(game_condition,task_difficulty).agg(avg(search_time).alias(avg_search_time),avg(search_efficiency).alias(avg_efficiency),count(user_id).alias(user_count),_sum(correct_count).alias(total_correct))df_resultdf_group.withColumn(efficiency_level,when(col(avg_efficiency)0.8,high).when(col(avg_efficiency)0.5,medium).otherwise(low))df_resultdf_result.orderBy(desc(avg_efficiency))df_result.write.mode(overwrite).option(header,true).csv(hdfs://localhost:9000/visual_search/result/search_performance)pdfdf_result.toPandas()pdf[avg_search_time]pdf[avg_search_time].round(3)pdf[avg_efficiency]pdf[avg_efficiency].round(3)summary{total_users:int(pdf[user_count].sum()),avg_time:float(pdf[avg_search_time].mean()),avg_efficiency:float(pdf[avg_efficiency].mean()),high_level_count:int((pdf[efficiency_level]high).sum())}returnsummarydefanalyze_subjective_experience():dfspark.read.option(header,true).option(inferSchema,true).csv(hdfs://localhost:9000/visual_search/subjective_scores.csv)df_cleandf.filter(col(satisfaction_score).isNotNull()col(fatigue_score).isNotNull()).withColumn(experience_gap,col(satisfaction_score)-col(fatigue_score))df_groupdf_clean.groupBy(game_condition,time_perception).agg(avg(satisfaction_score).alias(avg_satisfaction),avg(fatigue_score).alias(avg_fatigue),avg(experience_gap).alias(avg_gap),count(user_id).alias(sample_count))df_resultdf_group.withColumn(experience_type,when(col(avg_gap)2,positive).when(col(avg_gap)0,neutral).otherwise(negative))df_resultdf_result.orderBy(desc(avg_satisfaction))df_result.write.mode(overwrite).option(header,true).csv(hdfs://localhost:9000/visual_search/result/subjective_experience)pdfdf_result.toPandas()pdf[avg_satisfaction]pdf[avg_satisfaction].round(2)pdf[avg_fatigue]pdf[avg_fatigue].round(2)pdf[avg_gap]pdf[avg_gap].round(2)summary{total_samples:int(pdf[sample_count].sum()),avg_satisfaction:float(pdf[avg_satisfaction].mean()),avg_fatigue:float(pdf[avg_fatigue].mean()),positive_count:int((pdf[experience_type]positive).sum())}returnsummarydefanalyze_behavior_clustering():dfspark.read.option(header,true).option(inferSchema,true).csv(hdfs://localhost:9000/visual_search/behavior_logs.csv)df_cleandf.filter(col(search_time).isNotNull()col(click_count).isNotNull()).withColumn(click_speed,col(click_count)/col(search_time)).withColumn(accuracy_rate,col(correct_count)/col(total_count))df_featuresdf_clean.select(user_id,search_time,click_count,click_speed,accuracy_rate).na.drop()pdf_featuresdf_features.toPandas()fromsklearn.clusterimportKMeansfromsklearn.preprocessingimportStandardScaler feature_cols[search_time,click_count,click_speed,accuracy_rate]scalerStandardScaler()X_scaledscaler.fit_transform(pdf_features[feature_cols])kmeansKMeans(n_clusters3,random_state42,n_init10)pdf_features[cluster]kmeans.fit_predict(X_scaled)cluster_summarypdf_features.groupby(cluster).agg(avg_search_time(search_time,mean),avg_click_count(click_count,mean),avg_click_speed(click_speed,mean),avg_accuracy(accuracy_rate,mean),user_count(user_id,count)).reset_index()cluster_summary[cluster_label]cluster_summary[cluster].apply(lambdax:fast_accurateifx0else(slow_exploreifx1elseimpulsive_click))cluster_summary[avg_search_time]cluster_summary[avg_search_time].round(3)cluster_summary[avg_click_speed]cluster_summary[avg_click_speed].round(3)cluster_summary[avg_accuracy]cluster_summary[avg_accuracy].round(3)result_dfspark.createDataFrame(cluster_summary)result_df.write.mode(overwrite).option(header,true).csv(hdfs://localhost:9000/visual_search/result/behavior_clustering)summary{total_users:int(cluster_summary[user_count].sum()),cluster_count:int(cluster_summary[cluster].nunique()),fast_accurate_count:int(cluster_summary[cluster_summary[cluster_label]fast_accurate][user_count].sum()),slow_explore_count:int(cluster_summary[cluster_summary[cluster_label]slow_explore][user_count].sum())}returnsummary基于大数据的游戏化 x 视觉搜索实验分析与可视化文档展示作者计算机毕业设计江挽个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持网站实战项目安卓/小程序实战项目大数据实战项目深度学习实战项目
