小编MrG*_*mez的帖子

Python中的连续互信息

[Frontmatter] (如果您只是想要问题,请跳过此处):

我目前正在考虑使用Shannon-Weaver互信息规范化冗余来测量按特征组织的离散和连续特征值之间的信息屏蔽程度.使用这种方法,我的目标是构建一个看起来非常类似于ID3的算法,但是算法将寻找(作为循环约束)以最大化或最小化单个特征和集合之间的共享信息,而不是使用香农熵.基于完整输入要素空间的要素,如果(并且仅当)它们分别增加或减少相互信息,则向后一个集合添加新要素.实际上,这将ID3的决策算法移动到成对空间中,使用两种方法的所有预期时间和空间复杂性来装订集合方法.

[/ Frontmatter]


关于这个问题:我正在尝试使用SciPy让一个连续的集成商在Python中工作.因为我正在使用离散变量和连续变量的比较,我对特征 - 特征对的每个比较的当前策略如下:

  • 离散特征与离散特征:使用离散形式的互信息.这导致概率的双重求和,我的代码处理没有问题.

  • 所有其他情况(离散与连续,反向,连续与连续):使用连续形式,使用高斯估计来平滑概率密度函数.

对于后一种情况,我可能会执行某种离散化,但由于我的输入数据集本身并不是线性的,因此这可能是不必要的复杂.


这是突出的代码:

import math
import numpy
import scipy
from scipy.stats import gaussian_kde
from scipy.integrate import dblquad

# Constants
MIN_DOUBLE = 4.9406564584124654e-324 
                    # The minimum size of a Float64; used here to prevent the
                    #  logarithmic function from hitting its undefined region
                    #  at its asymptote of 0.
INF = float('inf')  # …
Run Code Online (Sandbox Code Playgroud)

python math floating-point scipy information-theory

18
推荐指数
1
解决办法
5003
查看次数

如何使用PhantomJS进行闪存?

我正在使用PhantomJS 1.4.1(支持Flash中的插件,如1.5中删除)--qt-4.8.

我无法在PhantomJS中启用Flash.我用的是--load-plugins=yes选项.我设置了QTWEBKIT_PLUGIN_PATH包含libflashplayer.so的所有路径:

QTWEBKIT_PLUGIN_PATH=/usr/lib/browser-plugins:/usr/lib/flash-plugin:/usr/lib/mozilla/plugin:/usr/lib64/flash-plugin:/usr/lib64/mozilla/plugins:/usr/lib64/opera/plugins
Run Code Online (Sandbox Code Playgroud)

我可以看到stracePhantomJS确实发现libflashplayer.so:

stat("/usr/lib64/opera/plugins/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
lstat("/usr/lib64/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
stat("/usr/lib64/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
stat("/usr/lib64/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=18782520, ...}) = 0
stat("/usr/lib/flash-plugin/libflashplayer.so", {st_mode=S_IFREG|0755, st_size=17047372, ...}) = 0
[..]
Run Code Online (Sandbox Code Playgroud)

在同一台服务器上,Flash可以在Firefox 10.0中正常运行

不知道幻影为何不被PhantomJS使用?

flash phantomjs

12
推荐指数
1
解决办法
9453
查看次数

这个数据结构有一个友好的名称吗?

在Python中使用机器学习算法的特征选择器时,我使用以下代码生成了一个数据结构:

# Perform set partitioning on the results
groups = []
for t in results:
    (jthName,kthName) = t
    jthGroup = -1
    kthGroup = -1

    # Just a simple list of hashes with online merging
    for idx,group in enumerate(groups):
        if jthName in group:
            jthGroup = idx
        if kthName in group:
            kthGroup = idx
    if jthGroup == kthGroup:
        if jthGroup == -1: # Implicit: "and kthGroup == -1"
            groups.append(set((jthName,kthName)))
    elif jthGroup != kthGroup:
        if kthGroup == -1:
            # Merge kthName into jthGroup …
Run Code Online (Sandbox Code Playgroud)

python algorithm data-structures

4
推荐指数
1
解决办法
424
查看次数

netbeans 7.1中的"JVM创建失败"

我可以成功启动Netbeans IDE.但是,当我在IDE中运行示例应用程序时,我总是收到JVM creation failed消息.

如果我清理它,我可以成功运行它,但只能运行一次.所以,如果我必须运行一个应用程序,我必须重建它.为什么?

我用Google搜索JVM creation failed,但只找到了解决问题的方法来启动Netbeans本身.

java netbeans

4
推荐指数
1
解决办法
7128
查看次数