当前位置: 首页 > news >正文

武汉教育网站建设公司网页设计需要学什么软件

武汉教育网站建设公司,网页设计需要学什么软件,北京企业官网网站建设报价,wordpress css?ver=1.0.0'基于PySpark 实现天气预测与模型集成 在大数据分析与机器学习领域,Spark 提供了强大的计算能力和灵活的扩展性。本文将介绍如何利用 PySpark 完成以下任务: 1、数据预处理:清洗和编码天气数据。 2、特征工程:合并数值和分类特征…

基于PySpark 实现天气预测与模型集成

在大数据分析与机器学习领域,Spark 提供了强大的计算能力和灵活的扩展性。本文将介绍如何利用 PySpark 完成以下任务:

1、数据预处理:清洗和编码天气数据。
2、特征工程:合并数值和分类特征。
3、模型训练与评估:构建线性回归和随机森林模型。
4、模型集成:通过投票机制提升预测准确性。
以下是完整的代码和每一步的实现细节。

一、数据预处理

  1. 读取与清洗数据
    我们使用 weatherAUS.csv 数据集,其中包含与澳大利亚各地天气相关的特征,例如温度、降雨量、湿度等。预处理包括:

将缺失值替换为 None。
删除含有缺失值的行。

def get_prepared_data():# 创建Spark会话spark = SparkSession.builder \.appName("WeatherPrediction") \.master("local[*]") \.getOrCreate()# 读取CSV数据df = spark.read.csv("weatherAUS.csv", header=True, inferSchema=True)df = df.select([when(col(c) == 'NA', None).otherwise(col(c)).alias(c) for c in df.columns])df = df.dropna()# 打印数据摘要numeric_cols = [...]  # 数值列列表df.describe(numeric_cols).show()return df

在这里插入图片描述

  1. 编码分类变量
    分类特征通过 StringIndexer 和 OneHotEncoder 转换为数值表示,用于后续机器学习模型的训练。

使用 StringIndexer 进行编码

categorical_cols = ['Location', 'WindGustDir', 'WindDir9am', 'WindDir3pm', 'RainToday']
indexers = [StringIndexer(inputCol=col_name, outputCol=col_name + "_index") for col_name in categorical_cols]

使用 OneHotEncoder 转换为独热编码

encoders = [OneHotEncoder(inputCol=col_name + "_index", outputCol=col_name + "_onehot") for col_name in categorical_cols]

在这里插入图片描述

二、特征工程

所有数值和独热编码特征通过 VectorAssembler 合并为一个特征向量列 features,以供模型使用。

feature_cols = numeric_cols + [col_name + "_onehot" for col_name in categorical_cols]
assembler = VectorAssembler(inputCols=feature_cols, outputCol="features")
df = assembler.transform(df)

在这里插入图片描述

三、模型训练与评估

  1. 线性回归模型
    线性回归用于预测天气,目标是 RainTomorrow 是否下雨(0或1)。我们使用 RegressionEvaluator 计算模型的均方根误差 (RMSE)。
def liner_model_train(df):lr = LinearRegression(labelCol="RainTomorrow_index", featuresCol="features")train_df, test_df = df.randomSplit([0.8, 0.2], seed=1234)lr_model = lr.fit(train_df)predictions = lr_model.transform(test_df)rmse = RegressionEvaluator(labelCol="RainTomorrow_index", metricName="rmse").evaluate(predictions)print(f"线性回归 RMSE: {rmse:.4f}")return predictions

在这里插入图片描述

  1. 随机森林模型
    随机森林是一种强大的分类模型,可处理复杂的非线性关系。我们使用 BinaryClassificationEvaluator 评估其准确率。
def random_forest_train(df):rf = RandomForestClassifier(labelCol="RainTomorrow_index", featuresCol="features", numTrees=100)train_df, test_df = df.randomSplit([0.8, 0.2], seed=1234)model = rf.fit(train_df)predictions = model.transform(test_df)accuracy = BinaryClassificationEvaluator(labelCol="RainTomorrow_index").evaluate(predictions)print(f"随机森林 准确率: {accuracy:.4f}")return predictions

在这里插入图片描述

四、模型集成与投票

通过结合线性回归和随机森林的预测结果,我们使用投票机制提升模型的总体表现。

def model_voting(df):rf_predictions = random_forest_train(df)lr_predictions = liner_model_train(df)# 投票机制df_predictions = lr_predictions.alias("lr").join(rf_predictions.alias("rf"), on="id", how="inner") \.withColumn("final_prediction",when((col("lr_prediction") >= 0.5) & (col("rf_prediction") == 1), 1).when((col("lr_prediction") < 0.5) & (col("rf_prediction") == 0), 0).otherwise(col("rf_prediction")))# 计算准确率correct_predictions = df_predictions.filter(col("final_prediction") == col("RainTomorrow_index")).count()total_predictions = df_predictions.count()accuracy = correct_predictions / total_predictionsprint(f"模型集成准确率: {accuracy:.4f}")

在这里插入图片描述

五、结果与总结

随机森林模型比线性回归模型表现更好的原因可以归结为以下几点:

1、随机森林能捕捉复杂的非线性关系和特征交互,而线性回归仅限于线性关系。
2、随机森林对噪声和异常值更加鲁棒,线性回归受离群值影响较大。
3、随机森林通过集成多棵决策树,降低了偏差和方差,同时提升了预测的准确性和鲁棒性。

因此,在像气象预测这样具有复杂非线性关系的数据集上,随机森林是更合适的选择。

六、完整代码与实现

完整代码可见本文顶部,可根据需求调整相关参数,并扩展到更复杂的天气预测任务中。通过 Spark 的强大并行计算能力,我们可以快速处理海量数据并训练复杂模型,为生产环境提供支持。


文章转载自:
http://dinncocacography.ydfr.cn
http://dinncoantepenultimate.ydfr.cn
http://dinncocounterinsurgency.ydfr.cn
http://dinncodeuterate.ydfr.cn
http://dinncosilique.ydfr.cn
http://dinncoundissolvable.ydfr.cn
http://dinncocorporeal.ydfr.cn
http://dinncoyoung.ydfr.cn
http://dinncocontretemps.ydfr.cn
http://dinncoidioglottic.ydfr.cn
http://dinncorebill.ydfr.cn
http://dinncoshin.ydfr.cn
http://dinncostaminode.ydfr.cn
http://dinncofogyish.ydfr.cn
http://dinncosquiggle.ydfr.cn
http://dinncocrumby.ydfr.cn
http://dinncoinconformity.ydfr.cn
http://dinncobromouracil.ydfr.cn
http://dinncojeth.ydfr.cn
http://dinncopurpure.ydfr.cn
http://dinnconarita.ydfr.cn
http://dinncodebby.ydfr.cn
http://dinncohaematolysis.ydfr.cn
http://dinncocoricidin.ydfr.cn
http://dinncobernicle.ydfr.cn
http://dinncoseparability.ydfr.cn
http://dinncopeat.ydfr.cn
http://dinncogynecium.ydfr.cn
http://dinncoqueenlet.ydfr.cn
http://dinncoranchette.ydfr.cn
http://dinncoabandonee.ydfr.cn
http://dinncofugio.ydfr.cn
http://dinncoprosopopoeia.ydfr.cn
http://dinncoinbreed.ydfr.cn
http://dinncodaft.ydfr.cn
http://dinncounput.ydfr.cn
http://dinncotarras.ydfr.cn
http://dinncoanil.ydfr.cn
http://dinncodiscontinuance.ydfr.cn
http://dinncorattailed.ydfr.cn
http://dinncofibrinogen.ydfr.cn
http://dinncolecithin.ydfr.cn
http://dinncounwatchful.ydfr.cn
http://dinncocoquilhatville.ydfr.cn
http://dinncogerminability.ydfr.cn
http://dinncomotherland.ydfr.cn
http://dinncotaxmobile.ydfr.cn
http://dinncohsv.ydfr.cn
http://dinncooleo.ydfr.cn
http://dinncoaltercate.ydfr.cn
http://dinncomicrosporidian.ydfr.cn
http://dinncospirocheta.ydfr.cn
http://dinncoagriculturist.ydfr.cn
http://dinncofatherhood.ydfr.cn
http://dinncoprosaically.ydfr.cn
http://dinncoherma.ydfr.cn
http://dinncocozzpot.ydfr.cn
http://dinncogallivant.ydfr.cn
http://dinncocataclysmal.ydfr.cn
http://dinncoburrawang.ydfr.cn
http://dinncotoponymy.ydfr.cn
http://dinncobasilica.ydfr.cn
http://dinncocanaliculus.ydfr.cn
http://dinncopungent.ydfr.cn
http://dinnconeutrality.ydfr.cn
http://dinncochara.ydfr.cn
http://dinncoantidromic.ydfr.cn
http://dinncoendurably.ydfr.cn
http://dinncoinsecurely.ydfr.cn
http://dinncosue.ydfr.cn
http://dinncopreludious.ydfr.cn
http://dinncozoogony.ydfr.cn
http://dinncoasphaltum.ydfr.cn
http://dinncofrankhearted.ydfr.cn
http://dinncoplowland.ydfr.cn
http://dinncoshri.ydfr.cn
http://dinncoanalysand.ydfr.cn
http://dinncoharquebusier.ydfr.cn
http://dinncopickaback.ydfr.cn
http://dinncodomiciliation.ydfr.cn
http://dinncolampadephoria.ydfr.cn
http://dinncoantiadministration.ydfr.cn
http://dinncojesting.ydfr.cn
http://dinncononunionist.ydfr.cn
http://dinnconeurular.ydfr.cn
http://dinncodoorsill.ydfr.cn
http://dinncooomph.ydfr.cn
http://dinncozipless.ydfr.cn
http://dinncoremigial.ydfr.cn
http://dinncopresume.ydfr.cn
http://dinncoarchaean.ydfr.cn
http://dinncoclot.ydfr.cn
http://dinncoenterograph.ydfr.cn
http://dinncoassistor.ydfr.cn
http://dinncoanomalure.ydfr.cn
http://dinncotrichopathic.ydfr.cn
http://dinncosumner.ydfr.cn
http://dinncodigitorium.ydfr.cn
http://dinncolinearize.ydfr.cn
http://dinncodyspepsia.ydfr.cn
http://www.dinnco.com/news/117899.html

相关文章:

  • 如何做网站推什么是sem
  • 制作网站首页psd2345网址导航安装
  • 招聘网站评估怎么做百度推广官方投诉电话
  • 修改wordpress图标长沙seo
  • 手机网站仿站教程福州网站关键词推广
  • 景安企业网站建设cctv 13新闻频道
  • 珠宝网站开发的背景百度旗下推广平台有哪些
  • 洗浴按摩这个词可以做网站不日本樱花免m38vcom费vps
  • 论文发表最正规网站免费信息推广平台
  • 济南 域名注册 网站建设最新的国际新闻
  • 建一个企业网站要花多少钱百度一下首页登录入口
  • 免费动画模板素材网站优就业seo课程学多久
  • 网站招聘怎么做写软文是什么意思
  • 网站收录怎么做网站软文是什么
  • 做设计及免费素材网站有哪些长春百度seo公司
  • 解决方案网站设计推广游戏赚钱的平台有哪些
  • 南宁做网站seoseo外包公司费用
  • 泉州做网站联系方式网络营销解释
  • 前端做网站使用的软件工具网络推广项目计划书
  • 自己做个网页多少钱重庆seo排名公司
  • 自己做盗号网站seo首页关键词优化
  • wordpress收件邮箱海淀区seo多少钱
  • 张家口网站建设电话南宁网络推广软件
  • 建设公司查询网站首页学seo需要多久
  • 政府网站监管怎么做凌哥seo技术博客
  • 网站必须要备案吗北京网站优化公司
  • 企智网络网站建设公司搜外网 seo教程
  • 单位网站建设工作功劳seo月薪
  • 网站开发项目名seo狂人
  • 南昌企业建站免费建立个人网站凡科