类 Swing
- java.lang.Object
-
- org.apache.flink.ml.recommendation.swing.Swing
-
- 所有已实现的接口:
Serializable,org.apache.flink.ml.api.AlgoOperator<Swing>,org.apache.flink.ml.api.Stage<Swing>,org.apache.flink.ml.common.param.HasOutputCol<Swing>,org.apache.flink.ml.param.WithParams<Swing>,SwingParams<Swing>
public class Swing extends Object implements org.apache.flink.ml.api.AlgoOperator<Swing>, SwingParams<Swing>
An AlgoOperator which implements the Swing algorithm.Swing is an item recall algorithm. The topology of user-item graph usually can be described as user-item-user or item-user-item, which are like 'swing'. For example, if both user u and user v have purchased the same commodity i, they will form a relationship diagram similar to a swing. If u and v have purchased commodity j in addition to i, it is supposed i and j are similar. The similarity between items in Swing is defined as
$$ w_{(i,j)}=\sum_{u\in U_i\cap U_j}\sum_{v\in U_i\cap U_j}{\frac{1}{{(|I_u|+\alpha_1)}^\beta}}*{\frac{1}{{(|I_v|+\alpha_1)}^\beta}}*{\frac{1}{\alpha_2+|I_u\cap I_v|}} $$
Note that alpha1 and alpha2 could be zero here. If one of $$|I_u|, |I_v| and |I_u\cap I_v|$$ is zero, then the similarity of i and j is zero.
See "Large Scale Product Graph Construction for Recommendation in E-commerce" by Xiaoyong Yang, Yadong Zhu and Yi Zhang.
- 另请参阅:
- 序列化表格
-
-
字段概要
-
从接口继承的字段 org.apache.flink.ml.recommendation.swing.SwingParams
ALPHA1, ALPHA2, BETA, ITEM_COL, K, MAX_USER_BEHAVIOR, MAX_USER_NUM_PER_ITEM, MIN_USER_BEHAVIOR, USER_COL
-
-
构造器概要
构造器 构造器 说明 Swing()
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 Map<org.apache.flink.ml.param.Param<?>,Object>getParamMap()static Swingload(org.apache.flink.table.api.bridge.java.StreamTableEnvironment tEnv, String path)voidsave(String path)org.apache.flink.table.api.Table[]transform(org.apache.flink.table.api.Table... inputs)-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 org.apache.flink.ml.recommendation.swing.SwingParams
getAlpha1, getAlpha2, getBeta, getItemCol, getK, getMaxUserBehavior, getMaxUserNumPerItem, getMinUserBehavior, getUserCol, setAlpha1, setAlpha2, setBeta, setItemCol, setK, setMaxUserBehavior, setMaxUserNumPerItem, setMinUserBehavior, setUserCol
-
-
-
-
方法详细资料
-
transform
public org.apache.flink.table.api.Table[] transform(org.apache.flink.table.api.Table... inputs)
- 指定者:
transform在接口中org.apache.flink.ml.api.AlgoOperator<Swing>
-
getParamMap
public Map<org.apache.flink.ml.param.Param<?>,Object> getParamMap()
- 指定者:
getParamMap在接口中org.apache.flink.ml.param.WithParams<Swing>
-
save
public void save(String path) throws IOException
- 指定者:
save在接口中org.apache.flink.ml.api.Stage<Swing>- 抛出:
IOException
-
load
public static Swing load(org.apache.flink.table.api.bridge.java.StreamTableEnvironment tEnv, String path) throws IOException
- 抛出:
IOException
-
-