Curso de big data K14: caso de minería de datos Spark

Correo electrónico del autor del artículo: [email protected] Dirección: Huizhou, Guangdong

 ▲ El programa de este capítulo

⚪ Dominar el caso de Spark: predecir la demanda de productos;

⚪ Domina el caso de Spark: predice la tasa de asesinatos;

1. Caso 1: Previsión de la demanda de materias primas

1. Descripción

Los valores observados de la demanda (y, toneladas), el precio (x1, yuan/kg) y el ingreso del consumidor (x2, yuan) de un determinado producto se muestran en la siguiente tabla.

y= β 1 X1+ β 2 X2+ β

y

x1

x2  

100

5

1000

75

7

600

80

6

1200

70

6

500

50

8

30

sesenta y cinco

7

400

90

5

1300

100

4

1100

110

3

1300

60

9

300

Para poder modelar a través de Mllib, primero debemos realizar cierto procesamiento en el formato de datos, como el siguiente:

100|5 1000

75|7 600

80|6 1200

70|6 500

50|8 30

65|7 400

90|5 1300

100|4 1100

110|3 1300

60|9 300

X1=10 X2=400 Y=?

2. Ejemplo de código:

importar org.apache.spark.SparkConf

importar org.apache.spark.SparkContext

importar org.apache.spark.mllib.regression.LabeledPoint

importar org.apache.spark.mllib.linalg.Vectors

importar org.apache.spark.ml.regression.LinearRegressionModel.LinearRegressionModelReader

importar org.apache.spark.ml.regression.LinearRegressionSummary

importar org.apache.spark.ml.regression.LinearRegressionTrainingSummary

importar org.apache.spark.mllib.regression.LinearRegressionWithSGD

importar org.apache.spark.mllib.regression.LinearRegressionModel

importar org.apache.spark.ml.regression.LinearRegressionModel

importar org.apache.spark.sql.SQLContext

importar org.apache.spark.ml.feature.VectorAssembler

importar org.apache.spark.ml.regression.LinearRegression

controlador de objetos { 

  def principal(argumentos: Matriz[Cadena]): Unidad = {   

     val conf=new SparkConf().setMaster("local").setAppName("lr")    

     val sc=nuevo SparkContext(conf)    

     val sqc=nuevo SQLContext(sc)    

     val datos=sc.textFile("d://ml/lritem.txt")    

     //--Convertimos los datos al formato tupla para su posterior conversión a SparkSql DataFrame

     val parseData=datos.mapa { x =>

       val partes=x.split("\\|")

       val características=partes(1).split(" ")

       (partes(0).toDouble,características(0).toDouble,características(1).toDouble)

     }    

     //-- Convertir a DF

     val df=sqc.createDataFrame(parseData)    

     //-- definimos los nombres de los campos de cada columna

     val dfData=df.toDF("Y","X1","X2")

     //--definir característica

Supongo que te gusta

Origin blog.csdn.net/u013955758/article/details/132438494
Recomendado
Clasificación