舆情监测系统 源码_2017年舆情大事件

舆情监测系统 源码_2017年舆情大事件importbreeze.linalgimportorg.apache.spark.ml.Pipelineimportorg.apache.spark.ml.classification.MultilayerPerceptronClassifierimportorg.apache.spark.ml.evaluation.MulticlassClassificationEva…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

import breeze.linalg
import org.apache.spark.ml.Pipeline
import org.apache.spark.ml.classification.MultilayerPerceptronClassifier
import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator
import org.apache.spark.ml.feature.{IndexToString, StringIndexer, Word2Vec}
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD
//http://qkxue.net/info/28517/SparkML
//spark-shell --driver-class-path /home/hadoop/test/mysqljdbc.jar
object WbClassifier {

  def main(args: Array[String]) {


    val VECTOR_SIZE =500

    val conf = new SparkConf().setAppName("WEIBO MLPC Classification")

    val sc = new SparkContext(conf)

    val sqlCtx = new SQLContext(sc)

    val titlesplit1 = sqlCtx.jdbc("jdbc:mysql://192.168.0.37:3306/emotional?user=root&password=123456", "mltest")
    val titlesplit =titlesplit1.toDF().registerTempTable("mltest")
    val value =sqlCtx.sql("SELECT mltest.svalue,mltest.words  FROM mltest")
    //model
    val parsedRDD = sc.textFile("hdfs://192.168.0.211:9000/user/hadoop/emotion/SMSSpamCollection.txt").map(_.split("\t")).map(eachRow => {
      (eachRow(0),eachRow(1).split(" "))
    })
//   val parsedRDD= value.map(p => {
//   val v0 = p.get(0).toString
//   val v1 = p.getString(1).split(",")
//    (v0, v1)
//})

   // val parsedRDD = sc.textFile("hdfs://192.168.0.211:9000/user/hadoop/emotion/20170725.txt").map(line=>(line.split(" ")(3),line.split(" ")(2).split(",")))
//            val parsedRDD = sc.textFile("hdfs://192.168.0.211:9000/user/hadoop/emotion/20170726.txt").map(_.split("\t")).map(eachRow => {
//              (eachRow(0),eachRow(1).split(" "))
//            })

   // http://doc.okbase.net/u013719780/archive/239004.html
    val msgDF = sqlCtx.createDataFrame(parsedRDD).toDF("label", "message")
    // 主成分分析


    //

    val labelIndexer = new StringIndexer().setInputCol("label").setOutputCol("indexedLabel").fit(msgDF)
    val word2Vec = new Word2Vec().setInputCol("message").setOutputCol("features").setVectorSize(VECTOR_SIZE).setMinCount(1)
    val layers = Array[Int](VECTOR_SIZE, 6,5,3)
    val multilayerPerceptronClassifier = new MultilayerPerceptronClassifier().setLayers(layers).setBlockSize(1024).setSeed(1234L).setMaxIter(456).setFeaturesCol("features").setLabelCol("indexedLabel").setPredictionCol("prediction")
    val labelConverter = new IndexToString().setInputCol("prediction").setOutputCol("predictedLabel").setLabels(labelIndexer.labels)
    val Array(trainingData, testData) = msgDF.randomSplit(Array(0.8, 0.2))
    val pipeline = new Pipeline().setStages(Array(labelIndexer, word2Vec, multilayerPerceptronClassifier, labelConverter))
    val model = pipeline.fit(trainingData)
    val predictionResultDF = model.transform(testData)
     predictionResultDF.printSchema
    //predictionResultDF.select("message", "label","features", "predictedLabel").show(30)
    predictionResultDF.select("message","features","label","predictedLabel").show(30)
  //  predictionResultDF.select("message","features","label","predictedLabel").write.save("file:///logs")
    predictionResultDF.select("predictedLabel").distinct().take(5)
    val evaluator = new MulticlassClassificationEvaluator().setLabelCol("indexedLabel").setPredictionCol("prediction").setMetricName("precision")
    val predictionAccuracy = evaluator.evaluate(predictionResultDF)
    println("Testing Accuracy is %2.4f".format(predictionAccuracy * 100) + "%")
    sc.stop

  }

}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191278.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PCI设备驱动程序「建议收藏」

    PCI设备驱动程序「建议收藏」PCI总线是现在非常流行的计算机总线,学会它的驱动设计方法很重要。相信曾经想学习PCI总线驱动的人有这么一个经历,就是去看那些讲解PCI总线驱动的书籍和资料的时候,会被里面繁杂的内容所击败,又是什么配置空间又是什么枚举的,还没开始真正的去写PCI的驱动,到这里就已经开始打退堂鼓了。其实,只要你认真下去,虽然有些东西看不明白,但是对于你写PCI的驱动来说,似乎“不那么重要”。因为,Linux内核对P…

    2022年10月25日
  • webservice实例java_Java WebService(实战) 简单实例

    webservice实例java_Java WebService(实战) 简单实例一、准备工作(以下为本实例使用工具)1、MyEclipse10.7.12、JDK1.6.0_22二、创建服务端1、创建【WebServiceProject】,命名为【TheService】。2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。3、编写供客户端调用的方法,即编译方法代码。4、进行编译说明:编译失败的话,请将该项目引用的jd…

  • 动态规划经典题目汇总图_离散型动态规划经典题目

    动态规划经典题目汇总图_离散型动态规划经典题目http://www.cppblog.com/doer-xee/archive/2009/12/05/102629.html转载之前先Orz一下:[s:19]Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总

    2022年10月28日
  • kalilinuxarp攻击_linux开启转发

    kalilinuxarp攻击_linux开启转发arpspoof-iwlan0-t10.50.129.4410.50.128.1arpspoof-iwlan0-t10.50.128.110.50.128.197mkdirtmp_picsdriftnet-iwlan0-dtmp_pics转载于:https://www.cnblogs.com/albertofwb/articles/4901195.ht…

  • 01字典树 详解「建议收藏」

    01字典树 详解「建议收藏」欢迎关注我的个人博客:www.zuzhiang.cn以前只知道字典树可以降低空间复杂度,今天无意中接触了01字典树,原来可以用它来降低时间复杂度,下面我就来给大家介绍一下01字典树的原理和应用。01字典树主要用于解决求异或最值的问题。我先放上简单的模板,然后再讲解它的原理。inttol;//节点个数LLval[32*MAXN];//点的值i…

  • forkjoinpool 弊端_oracle数据库分页查询sql

    forkjoinpool 弊端_oracle数据库分页查询sql使用forkjoin框架分页查询所有数据的例子importio.swagger.annotations.ApiOperation;importlombok.AllArgsConstructor;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.annotation.PropertySou

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号