基于spark的大数据分析预测地震受灾情况的系统设计_基于spark的预测分析(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

创建Pipeline

pipeline = Pipeline(stages=indexers + [encoder, assembler])
data_final = pipeline.fit(data).transform(data)

data_final.show()


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/303d5d3a0e9b4417bd91802c9b1d2dca.png#pic_center)


### 3、异常数据处理


在异常数据处理阶段,我们将处理可能存在的异常情况,确保数据的完整性和准确性:



使用正则表达式提取数字部分

data_final = data_final.withColumn(“damage_grade_y_numeric”, regexp_extract(data_final[“damage_grade_y”], r’\d+', 0))

将列转换为 numeric 类型

data_final = data_final.withColumn(“damage_grade_y_numeric”, data_final[“damage_grade_y_numeric”].cast(“int”))

显示转换后的结果

data_final.select(“damage_grade_y”, “damage_grade_y_numeric”).show()


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a6077b65899b4440a5d3500a946bfd8d.png#pic_center)


### 4、标题模型训练和评估


在模型训练和评估阶段,我们将使用随机森林分类器进行模型训练,并评估模型在测试集上的表现:



划分数据集为训练集和测试集

(train_data, test_data) = data_final.randomSplit([0.8, 0.2], seed=1234)

初始化随机森林分类器

rf = RandomForestClassifier(labelCol=“damage_grade_y_numeric”, featuresCol=“features”, numTrees=10)

训练模型

model = rf.fit(train_data)

在测试集上进行预测

predictions = model.transform(test_data)

模型评估

evaluator = MulticlassClassificationEvaluator(labelCol=“damage_grade_y_numeric”, predictionCol=“prediction”, metricName=“accuracy”)
accuracy = evaluator.evaluate(predictions)

print(“Test Accuracy = {:.2f}%”.format(accuracy * 100))


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/186ae59bc0cf434c94ad1b7df38fa2a2.png#pic_center)


### 标题5、可视化大屏实现与展示


为了更直观地展示预测结果,我们设计了一个可视化大屏。该大屏将包括地图展示、受灾情况分布图以及预测结果展示等内容,以帮助用户更好地理解地震造成的破坏程度。



www.husonghe.com

body {
width: 100%;
margin: 0;
overflow: hidden;
}

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值