用線性回歸無編碼實(shí)現(xiàn)文章瀏覽數(shù)預(yù)測

無編碼利用協(xié)同算法實(shí)現(xiàn)個性化推薦,我純粹使用SQL和配置實(shí)現(xiàn)了一個更為復(fù)雜一些的夫植,計(jì)算文章詞匯的tf/idf值,將瀏覽數(shù)作為預(yù)測值油讯,使用線性回歸算法進(jìn)行模型訓(xùn)練的示例详民。幫助大家更好的了解StreamingPro對算法的優(yōu)秀支持。這篇文章的示例將會跑在Spark 2.0 上了陌兑。為了方便大家體驗(yàn)沈跨,我已經(jīng)將Spark 安裝包,StreamignPro,以及分詞包都準(zhǔn)備好兔综,大家下載即可饿凛。

準(zhǔn)備工作

我們假設(shè)你下載的StreamingPro,ansi-seg包在/tmp目錄下软驰。然后將Spark 2.0 解壓涧窒,進(jìn)入主目錄。

復(fù)制如下模板

我已經(jīng)發(fā)布了三個配置文件锭亏,分別計(jì)算:

  1. 詞匯的 idf 值 ,鏈接

  2. 給每個詞匯生成一個唯一的數(shù)字標(biāo)示纠吴,鏈接

  3. 使用線性回歸算法進(jìn)行訓(xùn)練, 鏈接

PS : 有道筆記有時候第一次刷不出來,你刷新下就好慧瘤。

復(fù)制保存三個文件:

  1. /tmp/idf.json
  2. /tmp/term-index.json
  3. /tmp/lr-train.json

本機(jī)運(yùn)行

生成idf 文件:

cd  $SPARK_HOME

./bin/spark-submit   --class streaming.core.StreamingApp \
--master local[2] \
--name test \
--jars /tmp/ansj_seg-5.0.0-all-in-one.jar \
/tmp/streamingpro-0.3.3-SNAPSHOT-online-mllib-2.0.0.jar \
-streaming.name test    \
-streaming.platform spark   \
-streaming.job.file.path file:///tmp/idf.json

生成內(nèi)容會存儲成Parquet文件戴已。在/tmp/idf 目錄下可以看到具體文件。

接著生成 term index ,文件位于 /tmp/term-with-index锅减,最后進(jìn)行模型訓(xùn)練糖儡,訓(xùn)練好的模型在/tmp/lr-model

后續(xù)只要在Spark Streaming中加載,即可完成流式計(jì)算怔匣。

配置文件簡要說明

以lr-train.json為例握联,大體框架如下:

{
  "lr1": {
    "desc": "LR模型訓(xùn)練Job",
    "strategy": "streaming.core.strategy.SparkStreamingStrategy",
    "compositor": [  ]
  },
  "udf_register": {
    "desc": "通過這個方式可以注冊你自己開發(fā)的udf函數(shù)",
    "strategy": "streaming.core.strategy.SparkStreamingRefStrategy",    
        "compositor": [  ]
  },
  "term_index_ref_table": {
    "desc": "在這里申明表,可以在job中被引用",
    "strategy": "streaming.core.strategy.SparkStreamingRefStrategy",
    "algorithm": [],
    "ref": [],
     "compositor": [  ]
  },
  "term_idf_ref_table": {
    "desc": "在這里申明表劫狠,可以在job中被引用",
    "strategy": "streaming.core.strategy.SparkStreamingRefStrategy",    
    "algorithm": [],
    "ref": [],
     "compositor": [  ]
  }
}

這里有一個job,兩個關(guān)聯(lián)表拴疤,一個UDF函數(shù)注冊模塊。我在配置文件的描述中已經(jīng)有說明独泞。job 是一個可執(zhí)行的main函數(shù)呐矾,你可以這么理解。關(guān)聯(lián)表申明后可以直接在job的sql中使用懦砂。UDF函數(shù)注冊模塊則可以使得你很容易擴(kuò)展SQL的功能蜒犯。

他們唯一的區(qū)別是组橄,Job 的strategy 是 SparkStreamingStrategy,而其他非Job則是SparkStreamingRefStrategy

因?yàn)橐粋€配置文件里可能有多個Job,每個Job引用的關(guān)聯(lián)表也是不一樣罚随,你需要顯示指定引用玉工,在Job 的ref中申明即可:

  "lr1": {
    "strategy": "streaming.core.strategy.SparkStreamingStrategy",
    "ref": [
      "udf_register",
      "term_index_ref_table",
      "term_idf_ref_table"
    ],
    "compositor": [

這樣框架自動為你準(zhǔn)備好關(guān)聯(lián)引用,注冊UDF函數(shù)淘菩,然后在lr1 這個job中就可以使用了遵班。比如lr里的parse 函數(shù)就是通過udf_register模塊提供的。

之后就是定義輸入潮改,執(zhí)行的SQL,以及輸出(存儲或者模型引擎)狭郑。 SQL在案例中你可以看到,可以非常復(fù)雜汇在,多個SQL模塊之間可以互相作用翰萨,通過多條SQL實(shí)現(xiàn)一個復(fù)雜的邏輯。比如我們這里試下了tf/idf計(jì)算等功能糕殉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末亩鬼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子阿蝶,更是在濱河造成了極大的恐慌雳锋,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赡磅,死亡現(xiàn)場離奇詭異魄缚,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)焚廊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來习劫,“玉大人咆瘟,你說我怎么就攤上這事》汤铮” “怎么了袒餐?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長谤狡。 經(jīng)常有香客問我灸眼,道長,這世上最難降的妖魔是什么墓懂? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任焰宣,我火速辦了婚禮,結(jié)果婚禮上捕仔,老公的妹妹穿的比我還像新娘匕积。我一直安慰自己盈罐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布闪唆。 她就那樣靜靜地躺著盅粪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悄蕾。 梳的紋絲不亂的頭發(fā)上票顾,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音帆调,去河邊找鬼奠骄。 笑死,一個胖子當(dāng)著我的面吹牛贷帮,可吹牛的內(nèi)容都是我干的戚揭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼撵枢,長吁一口氣:“原來是場噩夢啊……” “哼民晒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锄禽,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤潜必,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后沃但,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磁滚,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年宵晚,在試婚紗的時候發(fā)現(xiàn)自己被綠了垂攘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡淤刃,死狀恐怖晒他,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情逸贾,我是刑警寧澤陨仅,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站铝侵,受9級特大地震影響灼伤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜咪鲜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一狐赡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嗜诀,春花似錦猾警、人聲如沸瑰艘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鹦聪,卻和暖如春乞榨,著一層夾襖步出監(jiān)牢的瞬間颤难,已是汗流浹背斋枢。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玄货,地道東北人皇钞。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像松捉,于是被迫代替她去往敵國和親夹界。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容