libMF原始碼分析

2021-06-22 07:56:08 字數 1302 閱讀 3847

**:

用了user和item的隱含特徵,user和item的評分偏差bias及所有評分的評分值。

libmf可以用於多核cpu的並行化計算,並且還可以有效利用cpu的sse指令以達到加速計算的目的。

官網位址

注意,本文分析的是libmf的第乙個版本v1.0。現在官網的是v1.1版本。解壓libmf-1.0.zip後,檔案資訊如下

123

4567

891011

1213

1415

libmf-

1.0-demo

.sh //示例執行指令碼檔案

-makefile

//make

-readme

//使用說明檔案

-smalldata

//示例資料檔案,格式為`userid[空格]itemid[空格]rate

-src

//src資料夾

-convert

.cpp //主要作用,定義了轉化資料檔案格式(字元型-二進位制)命令相關的類及函式

-main

.cpp //主要作用,主函式main入口

-mf.cpp //主要作用,實現mf.h檔案的宣告

-mf.h //主要作用,引入所有的標頭檔案,定義一些常量,類clock,node,matrix,model的宣告,常用函式的宣告

-predict

.cpp //主要作用,定義了**命令相關的類及函式

-subset

.cpp //主要作用,定義了取資料子集相關的類及函式,**注意**,此檔案在庫中沒有被使用

-train

.cpp //主要作用,定義了訓練命令相關的類及函式

-view

.cpp //主要作用,定義了檢視命令相關的類及函式

先看main.cpp->mf.h->mf.cpp->convert.cpp->view.cppsubset.cpppredict.cpp->最後train.cpp

1. main.cpp檔案

2. mf.h和mf.cpp檔案

3. convert.cpp檔案

4. view.cpp檔案

5. subset.cpp檔案

6. predict.cpp檔案

7. train.cpp檔案

1.libmf官網

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...