簡體   English   中英

Spark中的Logistic回歸進行預測分析

[英]Logistic Regression in Spark for predictive analysis

我是Spark,大數據和Scala的初學者,我正在嘗試使用示例數據集在Spark中構建預測模型。 我想使用pySpark,但是目前pyspark的mllib受到限制,因為它無法保存和加載。 我有一些問題:

  1. 我的數據為csv格式,如下所示:

     Buy,Income,Is Female,Is Married,Has College,Is Professional,Is Retired,Unemployed,Residence Length,Dual Income,Minors,Own,House,White,English,Prev Child Mag,Prev Parent Mag 0,24000,1,0,1,1,0,0,26,0,0,0,1,0,0,0,0 1,75000,1,1,1,1,0,0,15,1,0,1,1,1,1,1,0 

基本上,這些數據有助於根據所有給定參數預測用戶是否購買了該雜志。

如何將這些數據轉換為Spark易於解釋的格式? (我在這里查看了有關將csv轉換為RDD的其他相關答案,並進行了嘗試,但這使我比以前更加困惑)

  1. 如果我僅對此數據運行mllib文檔中提供的邏輯回歸程序,其中部分數據用於培訓,另一部分數據用於測試,如何在擁有新用戶和程序的情況下將其轉換為可演示的格式引導我了解所有參數,最后告訴我這個新人是否會購買該雜志的“是”或“否”。

     import org.apache.spark.mllib.regression.LabeledPoint import org.apache.spark.mllib.regression.LinearRegressionModel import org.apache.spark.mllib.regression.LinearRegressionWithSGD import org.apache.spark.mllib.linalg.Vectors // Load and parse the data val data = sc.textFile("data/mllib/ridge-data/lpsa.data") val parsedData = data.map { line => val parts = line.split(',') LabeledPoint(parts(0).toDouble, Vectors.dense(parts(1).split(' ').map(_.toDouble))) }.cache() // Building the model val numIterations = 100 val model = LinearRegressionWithSGD.train(parsedData, numIterations) // Evaluate model on training examples and compute training error val valuesAndPreds = parsedData.map { point => val prediction = model.predict(point.features) (point.label, prediction) } val MSE = valuesAndPreds.map{case(v, p) => math.pow((v - p), 2)}.mean() println("training Mean Squared Error = " + MSE) // Save and load model model.save(sc, "myModelPath") val sameModel = LinearRegressionModel.load(sc, "myModelPath") 

基本上,如果我將此程序用作起點,該從哪里去?

有了該模型,您可以預測輸入數據是否滿足模型(1)或不滿足(0)。 為此:

    val yourInputData = //putYouDataHere
    val res = model.predict(Vectors.dense(yourInputData))
    println(res)

您傳遞給預測方法的向量的維數應與用於構造模型的數據的維數相同:“ data / mllib / ridge-data / lpsa.data”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM