我正在使用推荐系统。这将是一个Android应用程序,用户将在其中输入他们的偏好,并在这些偏好的基础上,向该用户显示其他匹配的简档。我从用户那里获取数据并将其存储在Firebase中。如何实施策略设计模式?
这些是数值和为了显示匹配的简档与该用户,我使用用于计算用户之间的相似性计数两种算法:Cosine similarity
和Pearson correlation
我撷取算法的名称从应用程序,然后执行算法,以显示相似的配置文件给用户。
if (request.query.algo === "cosine") {
// compute cosine value
}
else if (request.query.algo === "pearson-correlation") {
// compute pearson correlation coefficents
}
因为这将是一个实时应用,因此这种方法是完全错误的,我想实现战略设计模式,其中的算法可以在运行时,而不是在编译时决定。
所以现在的问题是,在策略设计模式中,我将如何决定何时使用哪种算法?
例如,当您用信用卡购买东西时,信用卡类型无关紧要。所有信用卡都有一个磁条,其中编码了信息。条和它包含的内容代表'接口',卡的类型将是'实现'。每张信用卡都可以被任何其他人取代,而且所有信用卡都完全相互独立。
同样,我应该在什么基础上选择余弦和皮尔森之间的运行时间与策略设计模式?
为什么这种方法是错误的?这仍然是运行时选择策略,因为它取决于请求 – ByeBye