小编Mur*_*zen的帖子

Python实现的OPTICS(聚类)算法

我正在寻找在Python 中使用OPTICS算法的一个不错的实现.我将用它来形成基于密度的点((x,y)对).

我正在寻找接收(x,y)对并输出簇列表的东西,其中列表中的每个簇包含属于该簇的(x,y)对的列表.

python cluster-analysis machine-learning data-mining optics-algorithm

32
推荐指数
4
解决办法
2万
查看次数

如果inputText验证失败或启动ajax调用,则取消激活commandButton功能

我在表单中有以下代码:

<p:panel id="panel" header="lalalala">
    <h:panelGrid columns="5">

        <h:outputLabel value="Enter name" for="name" />

        <p:inputText id="name" value="#{userBean.name}"
            required="true" label="name" maxlength="15"
            validatorMessage="oops"
            requiredMessage="ooopps">
            <f:validateRegex
                pattern="^somepattern$">
            </f:validateRegex>
            <p:ajax event="blur" update="inputValidationMessage" />
        </p:inputText>

        <p:message id="inputValidationMessage" showSummary="false"
            for="name" />
        <p:watermark for="name" value="eg. John" />

    </h:panelGrid>

    <p:commandButton id="submitButton" value="Submit" update="panel"
        actionListener="#{userBean.save}"
        onclick="handleOnclick"
        oncomplete="handleAjaxResponse(xhr, status, args)">
    </p:commandButton>
    <p:messages autoUpdate="true" globalOnly="true" showDetail="true" />
</p:panel>
Run Code Online (Sandbox Code Playgroud)

因此验证消息在inputText元素上运行良好.但是,即使输入无效,提交按钮仍然会在单击时发出Ajax请求.如果inputText有效,我希望发送Ajax请求.

我怎么做?

此外; 还有一种情况我想停用按钮.这是验证inputText并且用户单击该按钮的情况.这个的原因是,我不希望用户错误地泛滥请求.(即反复按提交按钮)

目前,handleOnclickjavascript函数只显示一个模式对话框,说"等待".由于该对话框是模态的,因此背景无法访问.但是,这仍然不能阻止用户反复按下它,因为在onclick和模态对话框显示之间经过1秒.此外; 这种方法不会阻止提交无效数据.你能提出什么建议?

我使用JSF2.0和Primefaces 3.0.

任何帮助赞赏.

validation jsf primefaces jsf-2

13
推荐指数
1
解决办法
1万
查看次数

比较/聚类轨迹((x,y)点的GPS数据)和挖掘数据

我有两个关于分析GPS数据集的问题.

1)提取轨迹我有一个巨大的数据库,记录了表格的GPS坐标(latitude, longitude, date-time).根据连续记录的日期时间值,我试图提取人所遵循的所有轨迹/路径.例如; 从时间上说M,这些(x,y)配对不断变化,直到时间N.之后N,(x,y)成对的变化减少,此时我得出结论,从时间M到的路径N可以称为轨迹.在提取轨迹时,这是一个不错的方法吗?您可以建议任何众所周知的方法/方法/算法吗?是否有任何数据结构或格式建议我以有效的方式维护这些点?也许,对于每个轨迹,确定速度和加速度会有用吗?

2)挖掘轨迹一旦我跟踪了所有轨迹/采取了路径,我该如何比较/聚类它们?我想知道起点或终点是否相似,那么中间路径如何比较?

如何比较2条路径/路线,并得出它们是否相似的结论.此外; 如何将类似的路径聚集在一起?

如果你能指点我的研究或类似的东西,我将非常感激.

开发将使用Python,但欢迎各种图书馆建议.

提前致谢.

python gis algorithm gps data-mining

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

遗传算法绘制图形?职位分配问题

我手头有一个任务问题,我想知道应用本地搜索技术达到理想解决方案是多么合适(搜索空间非常大).

我有一个有向图(流程图),我想在二维平面上以一种非常清晰,易懂和易于人眼阅读的方式进行可视化.因此; 我将为每个顶点分配(x,y)位置.我正在考虑使用模拟退火,遗传算法或您建议的任何此类方法来解决此问题

输入:图形G =(V,E)
输出:一组赋值,{(xi, yi) for each vi in V}.换句话说,每个顶点将被分配一个位置(x,y),其中坐标都是整数,并且> = 0.

这些是我将用来判断解决方案的标准(我欢迎任何建议):

  • 交叉边的数量应该是最小的,
  • 所有边缘都在一个方向上流动(即从左到右),
  • 高角度分辨率(入射在同一顶点的两个边缘形成的最小角度),
  • 面积小 - 最不重要.

此外; 我有一个初始配置(位置到顶点的分配),手工制作.它非常混乱,这就是为什么我要尝试自动化这个过程.

我的问题是,

  • 使用本地搜索技术是多么明智?它产生预期结果的可能性有多大?

  • 我应该从什么开始?模拟退火,遗传算法还是其他什么?

  • 我应该在开头随机播种还是使用初始配置开始?

  • 或者,如果您已经知道类似的实现/伪代码/事物,请指出我.

任何帮助将不胜感激.谢谢.

编辑:它不需要很快 - 不是实时的.此外; | V | = ~200,每个顶点平均有大约1.5个输出边.该图表没有断开连接的组件.它涉及周期.

algorithm graph genetic-algorithm

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

成功调用ajax后,Datatable不会更新

我有一个数据表.该表的每一行都有一个commandButton名为"Remove"的行,它应该从模型和视图中删除该行并就地执行更新.作为一个页脚,我有另一个commandButton名为'删除每一行'.

最后一个按钮有效.我点击它,每一行都从模型中删除(即ArrayList包含元素变为空),dataTablefooter facet在视图中重新渲染(或更新).

另一方面,当我单击其中一行上的按钮时,为了将其删除,它会部分起作用.从模型中删除相应的元素,但不更新视图.那行还在那里,dataTablefooter facet没有改变.

我的代码中有以下代码users.xhtml.

<f:metadata>
    <f:viewParam name="id" value="#{users.id}" />
    <f:event type="preRenderView" listener="#{users.init}" />
</f:metadata>

...

<h:form id="usersForm">
    <p:outputPanel>    
        <p:dataTable id="userTable" value="#{users.user.friendList}" var="friend">
            <p:column>
                <h:outputText value="#{friend.name}" />
            </p:column>
            <p:column>
                <p:commandButton action="#{users.user.removeFriend(friend)}"
                    ajax="true"
                    update="userTable somethingElse" process="@this"
                    onerror="errorDialog.show();"
                    icon="ui-icon-delete"
                    title="delete user">
                </p:commandButton>
            </p:column>

            <f:facet id="somethingElse" name="footer">  
                    aye: ${users.user.xxx}
            </f:facet>
        </p:dataTable>

    </p:outputPanel>

    <p:commandButton action="#{users.user.removeAllFriends()}" ajax="true"
                update="userTable somethingElse"
                process="@this"
                icon="ui-icon-close"
                value="delete all friends?"> …
Run Code Online (Sandbox Code Playgroud)

ajax jsf primefaces jsf-2

8
推荐指数
1
解决办法
2万
查看次数

有人能解释人工神经网络吗?

根据维基百科(我知道这是一个不好的来源)神经网络由...组成

  • A神经元的输入层

  • 多个(B)隐藏层,每个层由C神经元组成.

  • "D"神经元的输出层.

我理解输入和输出层的含义.

我的问题是如何确定最佳的层数和每层神经元?

  • 增加"B"的优势/劣势是什么?
  • 增加"C"的优势/劣势是什么?
  • 增加"B"与"C"之间有什么区别?

它只是时间量(处理能力的限制)还是会使网络更深入地限制结果质量,我应该更多地关注深度(更多层)还是广度(每层更多神经元)?

artificial-intelligence machine-learning neural-network

8
推荐指数
1
解决办法
2222
查看次数

锁定可变对象 - 为什么它被认为是一种不好的做法?

看到这个答案.它说:

六个非常糟糕的例子;

...

锁定可变字段.例如synchronized(object){object = ...; }

锁定可变字段有什么问题?如果object被声明为final但不是不可变类?

java concurrency multithreading synchronized thread-safety

8
推荐指数
2
解决办法
1817
查看次数

将Web服务与Java Servlet一起使用

我正在尝试使用JSP和Servlets开发一个非常简单的Java Web应用程序.

1)页面上有一个文本框和一个提交按钮,
2)用户输入他的名字,比如约翰,输入文本框并单击按钮,
3)字符串被转发到我的servlet,
4)在doPost方法中我的servlet,我访问发布的字符串变量,
5)我将使用的Web服务有一个sayHello方法接受一个参数并返回"Hello "与参数连接,
6)所以,我调用sayHelloweb服务的方法,得到返回变量并将其转发给基本上写入的JSP Hello John.

我熟悉JSP和Servlet的事情,但我不知道如何使用现有的Web服务,或者如何使用已经在该Web服务中实现的功能.

我所拥有的只是方法的名称,sayHelloWeb服务的URL,http://example.com/hello_service以及指向wsdl包含类似xml的代码的文件的链接,我不知道如何使用它.

我的问题是,如何使用该Web服务,或者如何在servlet中调用方法?

提前致谢.

java jsp wsdl web-services servlets

6
推荐指数
1
解决办法
2万
查看次数

JSF标签没有呈现 - FacesServlet可能无法正常工作?

我刚刚开始使用JSF 2.0,并且我在一开始就遇到了问题.不解析JSF标记.

以下是一些细节.希望有人可以提供帮助,因为没有任何相关的SO问题能解决我的问题.

为hello.jsp

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">

    <h:head>

    </h:head>

    <h:body>
    <f:view>
        asd
        <h:inputText value="asd" label="UserName"></h:inputText>
    </f:view>
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

我在导航时看到的内容 http://localhost:8080/JSFDeneme/pages/hello.jsp

只有明文 asd

查看源代码 http://localhost:8080/JSFDeneme/pages/hello.jsp

完全相同的内容 hello.jsp

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui">

    <h:head>    
    </h:head>    
    <h:body>
    <f:view>asd
        <h:inputText value="asd" label="UserName"></h:inputText>
        </f:view>
    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

web.xml中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
         id="WebApp_ID" 
         version="3.0">
  <display-name>JSFDeneme</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>hello.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    <url-pattern>/pages/*</url-pattern>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>
  <context-param>
    <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> …
Run Code Online (Sandbox Code Playgroud)

java eclipse jsf tomcat java-ee

6
推荐指数
1
解决办法
2万
查看次数

生成不同订单的算法

我正在尝试编写一个生成不同集合的简单算法

(cba)(cab)(bac)(bca)(acb)from(abc)

做两个操作:

交换输入的第一和第二元素(abc),所以我得到(bac)

然后将第一个元素移到最后=>输入是(bac),输出是(acb)

所以这个程序的最终输出是(acb).

当然,这种方法只生成acb和ab c.我想知道是否使用这两个操作(可能连续使用2个交换然后换班,或任何变化)足以产生所有不同的排序?

我想提出一个简单的算法,不使用> <或+,只需重复交换某些位置(例如总是交换位置1和2)并始终移动某些位置(例如将第一个元素移动到最后一个).

language-agnostic algorithm

6
推荐指数
1
解决办法
139
查看次数