小编Tur*_*cia的帖子

用户从分类用户行为中分析Mahout

我正在尝试使用Mahout对用户进行聚类和分类.目前我处于规划阶段,我的想法与想法完全混合,因为我对这个领域相对较新,所以我坚持数据格式化.

假设我们有两个数据表(足够大).在第一个表中有用户及其操作.每个用户至少有一个动作,他们也可以有太多的动作.表中有大约10000个不同的user_actions和数百万条记录.

user        - user_action
u1          - a
u2          - b
u3          - a
u1          - c
u2          - c
u2          - c
u1          - b
u4          - f
u4          - e
u1          - e
u1          - d
u5          - d
Run Code Online (Sandbox Code Playgroud)

在另一个表中,有行动类别.每个动作可能没有或多个类别.共有60个类别.

user_action - category
a           - cat1
b           - cat2
c           - cat1
d           - NULL
e           - cat1, cat3
f           - cat4
Run Code Online (Sandbox Code Playgroud)

我将尝试使用Mahout构建用户分类模型,但我不知道应该做什么.我应该创建什么类型的用户向量?或者我真的需要用户向量吗?

我想我需要创造类似的东西;

u1 (a, c, b, e, d)
u2 (b, c, c)
u3 …
Run Code Online (Sandbox Code Playgroud)

classification cluster-analysis mahout

9
推荐指数
1
解决办法
146
查看次数

根据宽度添加.class到<li>元素,但添加.class后它们的宽度也会改变

您可以在http://jsfiddle.net/6gnAF/1/上看到问题

我的列表元素没什么问题.

我使用的是非常简单的无序列表;

<div>
  <ul>
    <li class='button'>Element 1</li>
    ...
    <li class='button'>Element N</li>
  </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

(列表元素的数量N在每页上都有所不同.)

div其中包含ul696 px宽度.列表元素li是水平对齐的,当它们到达div宽度的末尾时,它们会在新行上进行转换.

我想要在每一行中添加.leftli一个类,并将类添加.right到最后一行.

    $('li').each(function() {
        var liWidthOut = $(this).width();
        totalWidth += liWidthOut;
        if (totalWidth >= divWidth) {
            $(this).addClass("left");
            $(this).prev().removeClass("middle").addClass("right");
            totalWidth = liWidthOut;
        }
        else {
            $(this).addClass("middle");
        }
     });
Run Code Online (Sandbox Code Playgroud)

我用Jquery管理过,但我有点问题.

您可以在http://jsfiddle.net/6gnAF/1/上看到问题

问题是,.left.right类改变的宽度li将其加入的元素,所以有些时候,他们创造新的生产线,以及最后的li元素成为具有第一位.right的,而不是类.left.

我怎样才能解决这个问题?

(抱歉语法错误)

javascript css jquery

3
推荐指数
1
解决办法
257
查看次数

使用特殊字符(例如“_”)更改字符串的排序顺序

PHP 脚本按降序输出电子邮件地址列表,如下所示:

_abc_@testmail.com
_abc45_@testmail.com
_abc2_@testmail.com
ypaux2aux@yahoo.com
yaremchuk56@testmail.com
vasillevn@hotmail.com
ugur@hotmail.com
twes@gmail.com
tukaux@yahoo.com
ttsetaux1@yahoo.com
tra@testmail.com
Run Code Online (Sandbox Code Playgroud)

在 Java 中,我从这些电子邮件创建一个 ArrayList,然后按降序排序。结果不一样:

ypaux2aux@yahoo.com
yaremchuk56@testmail.com
vasillevn@hotmail.com
ugur@hotmail.com
twes@gmail.com
tukaux@yahoo.com
ttsetaux1@yahoo.com
tra@testmail.com
_abc45_@testmail.com
_abc2_@testmail.com
_abc_@testmail.com
Run Code Online (Sandbox Code Playgroud)

差异是由下划线“_”引起的。我想实现与 PHP 脚本相同的排序顺序。我怎样才能做到这一点?我无法访问 PHP 代码。

我使用的Java测试代码是:

import java.util.ArrayList;
import java.util.Collections;

public class sorty {

    public static void main(String[] args) {
        ArrayList<String> listStrings = new ArrayList<>();

        listStrings.add("_abc_@testmail.com");
        listStrings.add("_abc45_@testmail.com");
        listStrings.add("_abc2_@testmail.com");
        listStrings.add("ypaux2aux@yahoo.com");
        listStrings.add("yaremchuk56@testmail.com");
        listStrings.add("vasillevn@hotmail.com");
        listStrings.add("ugur@hotmail.com");
        listStrings.add("twes@gmail.com");
        listStrings.add("tukaux@yahoo.com");
        listStrings.add("ttsetaux1@yahoo.com");
        listStrings.add("tra@testmail.com");

        for (int i = 0; i < listStrings.size(); i++) {

            System.out.println(listStrings.get(i));

        }

        Collections.sort(listStrings);
        Collections.reverse(listStrings);

        for (int …
Run Code Online (Sandbox Code Playgroud)

php java sorting collections

3
推荐指数
1
解决办法
9464
查看次数