ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

大数据毕设选题推荐|Python 实现安卓应用市场数据挖掘与可视化分析系统

大数据毕设选题推荐|Python 实现安卓应用市场数据挖掘与可视化分析系统 作者计算机编程小央姐个人简介曾长期从事计算机专业培训教学本人也热爱上课教学语言擅长Java、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法也喜欢交流技术大家有技术代码这一块的问题可以问我想说的话感谢大家的关注与支持 文末获取源码目录大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统功能介绍大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统技术介绍大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统背景意义大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统演示视频大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统演示图片大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统部分代码大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-结语大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统功能介绍本系统是基于 Python、依托 Hadoop 与 Spark 大数据框架开发的安卓应用市场数据挖掘与可视化分析系统以一份包含一万九千多条安卓应用信息的数据集作为分析基础数据集涵盖应用分类、子分类、安装次数、评论分数、评论人数、开发者、更新时间以及应用介绍等多类信息系统会先完成原始数据的预处理工作针对安装次数字段里带 “万”“亿” 的文本格式做数值转换区分标记无人评价导致评分记为 0 的记录对少量缺失数据按照分析场景按需过滤而不是直接删除全部样本之后依托 Spark SQL 完成多维度的统计计算搭建起市场格局、装机规模、用户口碑、厂商竞争、版本更新、文案内容六大常规分析模块同时借助 K-Means 聚类、孤立森林异常检测、NMF 主题挖掘、FP-Growth 关联规则挖掘这类无监督挖掘算法完成深度数据洞察所有计算得到的分析结果会存入 MySQL 数据库后端基于 Django 提供数据查询接口前端借助 Vue、Echarts 将各类统计指标、聚类画像、异常样本、关键词共现结果转换成图表展示方便使用者直观观察安卓应用市场内部的赛道分布、头部效应、厂商竞争状态和应用文案的表达特点。大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统技术介绍大数据框架HadoopSpark本次没用Hive支持定制开发语言PythonJava两个版本都支持后端框架DjangoSpring Boot(SpringSpringMVCMybatis)两个版本都支持前端VueElementUIEchartsHTMLCSSJavaScriptjQuery详细技术点Hadoop、HDFS、Spark、Spark SQL、Pandas、NumPy数据库MySQL大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统背景意义安卓应用市场里上架的应用数量持续增多不同赛道的产品在用户体量、用户评价、维护节奏上差别很大单纯靠人工翻看表格很难看清楚市场里面藏着的规律。原始采集的市场数据本身格式比较杂乱像安装量是带有中文单位的文本评分字段还会用 0 标记没有用户评价的条目直接拿来统计很容易得出有偏差的结论。不少简单的数据分析工具处理这类多字段、带文本信息的数据集时很难同时完成大批量数据的统计和文本挖掘工作也没办法同时做多维度的下钻对比。在这样的情况下用 Spark 大数据工具来处理这份安卓应用数据集搭建一套可以自动计算、可视化展示的分析系统刚好能够解决人工分析效率低、统计容易出错的问题也适合本科阶段去练习大数据数据预处理和数据挖掘的整套流程。做这套系统更多是用来练习大数据项目完整的开发流程不能指望它直接给商业平台做重大决策参考。在自己学习的层面能够熟悉 Spark SQL 做批量统计、用 PySpark 实现聚类和异常检测的思路把课堂上学的大数据、数据挖掘知识落地到真实的数据集上。从数据探索的角度系统处理完数据之后可以直观看到安卓应用不同赛道的供给情况区分开应用数量多但是装机量一般的细分赛道也能发现部分指标明显偏离常态的应用样本。对于应用运营的参考来说它输出的文案高频词、卖点关联规则能简单帮我们看到市面上应用介绍常用的表达套路只是参考价值比较有限。整个项目也能锻炼数据清洗、指标设计和前后端数据对接的能力完成毕业设计要求的项目开发任务。大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统演示视频演示视频大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统演示图片大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-系统部分代码frompyspark.sqlimportSparkSessionfrompyspark.sql.functionsimportcol,udf,when,lit,split,regexp_replacefrompyspark.sql.typesimportDoubleType,StringType,IntegerTypefrompyspark.ml.featureimportStandardScaler,VectorAssemblerfrompyspark.ml.clusteringimportKMeansfrompyspark.ml.outlierimportIsolationForestimportre sparkSparkSession.builder.appName(AndroidAppMarketAnalysis).getOrCreate()defparse_install_text(install_str):ifinstall_str1 万次安装:return5000.0if亿ininstall_str:num_strre.sub(r[^\d.],,install_str)returnfloat(num_str)*100000000if万ininstall_str:num_strre.sub(r[^\d.],,install_str)returnfloat(num_str)*10000returnNoneparse_install_udfudf(parse_install_text,DoubleType())defmark_rated(score,scored_by):ifscored_by0:return未评价else:return已评价mark_rated_udfudf(mark_rated,StringType())defget_intro_length(intro_text):ifintro_textisNoneorintro_text.strip():return0returnlen(intro_text.strip())intro_len_udfudf(get_intro_length,IntegerType())raw_dfspark.read.option(encoding,utf-8-sig).csv(hdfs:/dataset/某应用市场数据.csv,headerTrue)preprocess_dfraw_df.withColumn(install_count,parse_install_udf(col(安装次数)))preprocess_dfpreprocess_df.withColumn(is_rated,mark_rated_udf(col(评论分数),col(评论人数)))preprocess_dfpreprocess_df.withColumn(intro_length,intro_len_udf(col(应用介绍)))preprocess_dfpreprocess_df.withColumn(install_level,when(col(install_count)10000,万次以下).when(col(install_count)100000,万级).when(col(install_count)1000000,十万级).when(col(install_count)10000000,百万级).when(col(install_count)100000000,千万级).otherwise(亿级))preprocess_dfpreprocess_df.filter(col(install_count).isNotNull())preprocess_df.write.mode(overwrite).option(header,true).csv(hdfs:/output/app_market_preprocessed_data)assembler_kmeansVectorAssembler(inputCols[install_count,评论分数,评论人数,intro_length],outputColfeatures_raw)kmeans_input_dfpreprocess_df.filter(col(is_rated)已评价).filter(col(评论人数)10)kmeans_input_dfassembler_kmeans.transform(kmeans_input_df)scalerStandardScaler(inputColfeatures_raw,outputColfeatures,withStdTrue,withMeanTrue)scaler_modelscaler.fit(kmeans_input_df)kmeans_scaled_dfscaler_model.transform(kmeans_input_df)kmeansKMeans(k5,seed24,featuresColfeatures,predictionColcluster_id)kmeans_modelkmeans.fit(kmeans_scaled_df)cluster_result_dfkmeans_model.transform(kmeans_scaled_df)deflabel_cluster(cluster_id,install,score,user_num,text_len):ifcluster_id0andinstall100000000:return国民级流量应用elifcluster_id1andscore4.0anduser_num1000:return口碑小众精品elifcluster_id2anduser_num20andinstall50000:return长尾沉默应用elifcluster_id3andinstall50000000andscore2.5:return高曝光低口碑应用else:return普通应用cluster_label_udfudf(label_cluster,StringType())cluster_result_dfcluster_result_df.withColumn(cluster_label,cluster_label_udf(col(cluster_id),col(install_count),col(评论分数),col(评论人数),col(intro_length)))cluster_result_df.select(分类,应用名称,install_count,评论分数,cluster_id,cluster_label).write.mode(overwrite).option(header,true).csv(hdfs:/output/cluster_analysis/app_cluster_result)assembler_ifVectorAssembler(inputCols[install_count,评论分数,评论人数,intro_length],outputColif_features)if_input_dfpreprocess_df.filter(col(install_count).isNotNull())if_input_dfassembler_if.transform(if_input_df)iso_forestIsolationForest(featuresColif_features,outlierScoreColoutlier_score,contamination0.03,numTrees100,seed24)iso_modeliso_forest.fit(if_input_df)outlier_dfiso_model.transform(if_input_df)defjudge_outlier_type(score,install,user_num):ifscore2.2andinstall10000000:return大装机低评分异常elifuser_num15andinstall5000000:return装机量与评价人数不匹配elifinstall8000anduser_num800:return小众应用评价异常偏高else:return正常样本outlier_type_udfudf(judge_outlier_type,StringType())outlier_result_dfoutlier_df.withColumn(outlier_type,outlier_type_udf(col(评论分数),col(install_count),col(评论人数)))outlier_result_df.filter(col(outlier_score)0.75).select(分类,子分类,应用名称,开发者,install_count,评论分数,outlier_score,outlier_type).write.mode(overwrite).option(header,true).csv(hdfs:/output/outlier_analysis/app_outlier_result)大数据毕设选题推荐Python 实现安卓应用市场数据挖掘与可视化分析系统-结语如果大家有任何疑虑欢迎在下方位置详细交流。
返回列表