記事著者の電子メール: [email protected] 住所: 広東省恵州市
▲ この章のプログラム
⚪ Spark のケースをマスターして、製品需要を予測します。
⚪ スパークの事件をマスター - 殺人率を予測します。
1. ケース 1 - 商品需要の予測
1. 説明
ある商品の需要(y、トン)、価格(x1、元/kg)、消費者所得(x2、元)の観測値は以下の表に示されています。
y= β 1 X1+ β 2 X2+ β 0
y |
×1 |
×2 |
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 |
Mllib を介してモデル化できるようにするには、まずデータ形式に対して次のような特定の処理を実行する必要があります。
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. コード例:
org.apache.spark.SparkConf をインポートします
org.apache.spark.SparkContext をインポートします
org.apache.spark.mllib.regression.LabeledPoint をインポートします
org.apache.spark.mllib.linalg.Vectors をインポートします
org.apache.spark.ml.regression.LinearRegressionModel.LinearRegressionModelReader をインポートします
org.apache.spark.ml.regression.LinearRegressionsummary をインポートします
org.apache.spark.ml.regression.LinearRegressionTrainingsummary をインポートします
org.apache.spark.mllib.regression.LinearRegressionWithSGD をインポートします
org.apache.spark.mllib.regression.LinearRegressionModel をインポートします
org.apache.spark.ml.regression.LinearRegressionModel をインポートします
org.apache.spark.sql.SQLContext をインポートします
org.apache.spark.ml.feature.VectorAssembler をインポートします
org.apache.spark.ml.regression.LinearRegression をインポートします
オブジェクト ドライバー {
def main(args: 配列[文字列]): 単位 = {
val conf=new SparkConf().setMaster("local").setAppName("lr")
val sc=新しいSparkContext(conf)
val sqc=新しいSQLContext(sc)
val data=sc.textFile("d://ml/lritem.txt")
//-- 後で SparkSql DataFrame に変換できるように、データをタプル形式に変換します
val parseData=data.map { x =>
val Parts=x.split("\\|")
val features=parts(1).split(" ")
(パーツ(0).toDouble,features(0).toDouble,features(1).toDouble)
}
//-- DFに変換
val df=sqc.createDataFrame(parseData)
//--各列のフィールド名を定義します
val dfData=df.toDF("Y","X1","X2")
//-- フィーチャーを定義