Sparkmllib scala线性回归
在統(tǒng)計(jì)學(xué)中,線性回歸(Linear Regression)是利用稱為線性回歸方程的最小平方函數(shù)對(duì)一個(gè)或多個(gè)自變量和因變量之間關(guān)系進(jìn)行建模的一種回歸分析。這種函數(shù)是一個(gè)或多個(gè)稱為回歸系數(shù)的模型參數(shù)的線性組合。只有一個(gè)自變量的情況稱為簡單回歸,大于一個(gè)自變量情況的叫做多元回歸。(這反過來又應(yīng)當(dāng)由多個(gè)相關(guān)的因變量預(yù)測的多元線性回歸區(qū)別,而不是一個(gè)單一的標(biāo)量變量。)
在線性回歸中,數(shù)據(jù)使用線性預(yù)測函數(shù)來建模,并且未知的模型參數(shù)也是通過數(shù)據(jù)來估計(jì)。這些模型被叫做線性模型。最常用的線性回歸建模是給定X值的y的條件均值是X的仿射函數(shù)。不太一般的情況,線性回歸模型可以是一個(gè)中位數(shù)或一些其他的給定X的條件下y的條件分布的分位數(shù)作為X的線性函數(shù)表示。像所有形式的回歸分析一樣,線性回歸也把焦點(diǎn)放在給定X值的y的條件概率分布,而不是X和y的聯(lián)合概率分布(多元分析領(lǐng)域)。
線性回歸是回歸分析中第一種經(jīng)過嚴(yán)格研究并在實(shí)際應(yīng)用中廣泛使用的類型。這是因?yàn)榫€性依賴于其未知參數(shù)的模型比非線性依賴于其位置參數(shù)的模型更容易擬合,而且產(chǎn)生的估計(jì)的統(tǒng)計(jì)特性也更容易確定。
線性回歸模型經(jīng)常用最小二乘逼近來擬合,但他們也可能用別的方法來擬合,比如用最小化“擬合缺陷”在一些其他規(guī)范里(比如最小絕對(duì)誤差回歸),或者在橋回歸中最小化最小二乘損失函數(shù)的懲罰.相反,最小二乘逼近可以用來擬合那些非線性的模型.因此,盡管“最小二乘法”和“線性模型”是緊密相連的,但他們是不能劃等號(hào)的。
?
數(shù)據(jù)源準(zhǔn)備:
position;square;price;direction;type;name; 0;190;20000;0;4室2廳2衛(wèi);中信城(別墅); 0;190;20000;0;4室2廳2衛(wèi);中信城(別墅); 5;400;15000;0;4室3廳3衛(wèi);融創(chuàng)上城; 0;500;15000;0;5室3廳2衛(wèi);中海萊茵東郡; 5;500;15000;0;5室3廳4衛(wèi);融創(chuàng)上城(別墅); 1;320;15000;1;1室1廳1衛(wèi);長江花園; 0;143;12000;0;3室2廳2衛(wèi);融創(chuàng)上城; 0;200;10000;0;4室3廳2衛(wèi);中海萊茵東郡(別墅); 0;207;9000;0;4室3廳4衛(wèi);中海萊茵東郡; 0;130;8500;0;3室2廳2衛(wèi);偉峰東第; 5;150;7000;0;3室2廳2衛(wèi);融創(chuàng)上城; 2;178;6000;0;4室2廳2衛(wèi);鴻城國際花園; 5;190;6000;0;3室2廳2衛(wèi);亞泰豪苑C棟; 1;150;6000;0;5室1廳2衛(wèi);通安新居A區(qū); 2;165;6000;0;3室2廳2衛(wèi);萬科惠斯勒小鎮(zhèn); 0;64;5500;0;1室1廳1衛(wèi);保利中央公園; 2;105;5500;0;2室2廳1衛(wèi);虹館; 1;160;5300;0;3室2廳1衛(wèi);昊源高格藍(lán)灣; 2;170;5100;0;4室2廳2衛(wèi);亞泰鼎盛國際; 0;155;5000;0;3室2廳2衛(wèi);中海水岸馨都; 5;128;5000;0;4室2廳1衛(wèi);長影世紀(jì)村; 0;145;4500;0;3室2廳2衛(wèi);富奧臨河灣; 2;92;4200;0;3室2廳1衛(wèi);御翠豪庭尚府一期; 0;75;4100;0;1室1廳1衛(wèi);恒大雅苑; 5;105;4000;0;2室1廳1衛(wèi);南湖名家; 2;93;4000;0;3室2廳1衛(wèi);御翠豪庭尚府一期; 5;121;4000;0;3室1廳1衛(wèi);萬達(dá)廣場; 0;104;4000;0;2室1廳1衛(wèi);棠棣; 1;135;4000;0;3室2廳2衛(wèi);萬科藍(lán)山; 5;98;4000;0;2室2廳1衛(wèi);華億紅府; 0;128;3800;0;3室2廳1衛(wèi);復(fù)地哥德堡森林; 2;154;3700;0;3室2廳2衛(wèi);長春明珠; 0;100;3700;0;2室2廳1衛(wèi);翡翠花溪; 4;66;3700;0;1室1廳1衛(wèi);長客廠南; 2;106;3600;0;2室2廳1衛(wèi);虹館; 5;132;3500;0;3室2廳1衛(wèi);大禹城邦; 1;135;3500;0;3室2廳1衛(wèi);昊源高格藍(lán)灣; 0;130;3500;0;3室2廳1衛(wèi);中海國際社區(qū)(AJ區(qū)); 2;70;3500;0;2室1廳1衛(wèi);中信御園; 0;145;3500;0;3室2廳2衛(wèi);萬盛東城; 5;132;3500;0;3室2廳2衛(wèi);大禹城邦; 5;100;3300;0;2室2廳1衛(wèi);國信南湖公館; 5;75;3200;0;1室1廳1衛(wèi);南湖祥水灣; 0;120;3200;0;3室3廳2衛(wèi);復(fù)地哥德堡森林; 2;95;3200;0;3室2廳1衛(wèi);萬科金域長春; 0;106;3200;0;2室2廳1衛(wèi);富騰天下城; 5;118;3200;0;3室2廳2衛(wèi);融創(chuàng)上城(別墅); 1;130;3200;0;3室2廳1衛(wèi);萬龍名城; 0;137;3200;0;3室2廳2衛(wèi);中海國際社區(qū)(AJ區(qū));Demo:
import org.apache.spark.SparkConf import org.apache.spark.ml.feature.VectorAssembler import org.apache.spark.ml.regression.LinearRegression import org.apache.spark.sql.SparkSession/*** 線性回歸*/ object linner {def main(args: Array[String]): Unit = {val conf = new SparkConf().setMaster("local[*]").setAppName("linner")val spark = SparkSession.builder().config(conf).getOrCreate()val file = spark.read.format("csv").option("sep", ";").option("header", "true").load("house.csv")import spark.implicits._//生成隨機(jī)數(shù)val random = new util.Random()val data = file.select("square", "price").map(rows => (rows.getAs[String](0).toDouble, rows.getString(1).toDouble, random.nextDouble())).toDF("square", "price", "random").sort("random")//類似封裝成 數(shù)組val assembler = new VectorAssembler().setInputCols(Array("square")).setOutputCol("features")val frame = assembler.transform(data)//把數(shù)據(jù)集拆分2個(gè)部分val Array(train, test) = frame.randomSplit(Array(0.8, 0.2), 1L)//創(chuàng)建線性回歸的示例val regression = new LinearRegression().setMaxIter(10) //訓(xùn)練輪次.setRegParam(0.3) //正則化.setElasticNetParam(0.8) //推薦值//Features 特征向量 label 標(biāo)簽val model = regression.setLabelCol("price").setFeaturesCol("features").fit(train)model.transform(test).count()model.transform(test).show(50, truncate = true)/*** fit 做訓(xùn)練* transform 做預(yù)測*/spark.stop()} }?
?
總結(jié)
以上是生活随笔為你收集整理的Sparkmllib scala线性回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: elasticsearch备份恢复(单机
- 下一篇: Unrecognized Hadoop