葡萄酒逻辑回归分类(scala实现)

本文介绍了使用Scala进行葡萄酒质量分类的方法,通过逻辑回归算法,将评分7.0以上定义为好葡萄酒,其他为坏葡萄酒。
摘要由CSDN通过智能技术生成

葡萄酒分类(scala实现)

分类方法:逻辑回归

 

其中

  •       0代表坏葡萄酒
  •       1代表好葡萄酒

训练集中质量评分7.0以上被视为好葡萄酒


	import org.apache.spark.ml.classification.LogisticRegression
	import org.apache.spark.ml.param.ParamMap
	import org.apache.spark.ml.linalg.{Vector, Vectors}
	import org.apache.spark.ml.regression.LinearRegressionModel
	import org.apache.spark.sql.{Row, SparkSession}

	object LogicRegressWineClassifyDemo {
		def main(args: Array[String]): Unit = {
			val sess = SparkSession.builder().appName("ml").master("local[4]").getOrCreate();
			val sc = sess.sparkContext;
			//数据目录
			val dataDir = "file:///D:/downloads/bigdata/ml/winequality-white.csv"
			//定义样例类
			case class Wine(FixedAcidity: Double, VolatileAcidity: Double,
							CitricAcid: Double, ResidualSugar: Double, Chlorides: Double,
							FreeSulfurDioxide: Double, Tota
好的,以下是一个基于Spark MLlib的二项逻辑斯蒂回归分类的示例代码: ```scala import org.apache.spark.ml.classification.LogisticRegression import org.apache.spark.ml.evaluation.BinaryClassificationEvaluator import org.apache.spark.ml.feature.{HashingTF, Tokenizer} import org.apache.spark.ml.linalg.Vector import org.apache.spark.sql.SparkSession // 创建SparkSession val spark = SparkSession.builder() .appName("Logistic Regression Example") .config("spark.master", "local") .getOrCreate() // 读取txt文件,并转换为DataFrame val data = spark.read.textFile("path/to/your/data.txt") .map(line => line.split("\t")) .map(parts => (parts(0), parts(1).toDouble)) .toDF("text", "label") // 将文本数据转换为词频向量 val tokenizer = new Tokenizer() .setInputCol("text") .setOutputCol("words") val hashingTF = new HashingTF() .setInputCol(tokenizer.getOutputCol) .setOutputCol("features") val wordsData = tokenizer.transform(data) val featurizedData = hashingTF.transform(wordsData) // 划分数据集为训练集和测试集 val Array(trainingData, testData) = featurizedData.randomSplit(Array(0.7, 0.3), seed = 12345) // 创建逻辑斯蒂回归模型 val lr = new LogisticRegression() // 训练模型 val model = lr.fit(trainingData) // 预测测试数据集的标签 val predictions = model.transform(testData) // 计算模型的二元分类指标 val evaluator = new BinaryClassificationEvaluator() val areaUnderROC = evaluator.evaluate(predictions) // 输出二元分类指标 println(s"Area under ROC = $areaUnderROC") // 停止SparkSession spark.stop() ``` 以上代码演示了如何读取txt文件,并将其转换为DataFrame,然后使用MLlib中的HashingTF和LogisticRegression来进行文本分类。在这个示例中,我们使用了一个简单的词频表示法,并且将数据集划分为训练集和测试集。最后,我们计算了模型的二元分类指标,并输出了结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路易三十六

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值