小编Mad*_*May的帖子

RidgeClassifierCV的评分函数

我正在尝试在scikit-learn中为RidgeClassifierCV实现自定义评分功能.这涉及将自定义评分函数作为score_func初始化RidgeClassifierCV对象时传递.我希望score_func将分类值作为y_true和的输入y_pred.但是,相反,浮点值将作为y_true和传入y_pred.y向量的大小等于类的数量乘以训练样本的数量,而不是简单地具有长度等于训练样本的数量的y向量.

我可以以某种方式强制将分类预测传递到自定义评分函数,还是我必须处理原始权重?如果我必须直接处理原始权重,那么输出向量切片中最大值的索引是否等于预测类?

python scikit-learn

36
推荐指数
1
解决办法
1300
查看次数

Python列表索引效率

关于内置python列表对象的快速问题.假设您有一个数字0到99的列表.您正在编写一个程序,它接受列表中的最后一项并将其用于其他目的.使用list [-1]比使用list [99]更有效吗?换句话说,在任何一种情况下,python都会遍历整个列表吗?

谢谢你的帮助.

python performance list

13
推荐指数
3
解决办法
7895
查看次数

使用装饰器更新包装器时遇到错误

在尝试使用装饰器更新函数的包装器时,我遇到了一个相当神秘的(至少对我来说)错误消息.我有什么想法可以解决这个问题吗?

我试图让我的代码尽可能通用,所以它也适用于其他情况.

def decorator(d):
    """Make function d a decorator: d wraps a function fn."""

    def _d(fn):
        return functools.update_wrapper(d(fn), fn)
    functools.update_wrapper(_d, d)
    return _d


@decorator
def f(fn):
    """Converts the string fn to a function and returns it.
    Because of the @decorator decorator, _f.__name__ should
    be identical to f.__name__"""

    f.__name__ = fn
    def _f(fn):
        return eval(fn)
    return _f

g = f('x**2')
print g.__name__
Run Code Online (Sandbox Code Playgroud)

期望的输出:

>>>x**2
Run Code Online (Sandbox Code Playgroud)

实际产量:

Traceback (most recent call last):
  File "C:\python\swampy-2.0\testcode.py", line 18, in <module>
    g = f('x**2')
  File "C:\python\swampy-2.0\testcode.py", …
Run Code Online (Sandbox Code Playgroud)

python decorator attributeerror functools

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

Python设置查找效率

我知道python集有O(1)查询时间,python列表有O(n)查找时间,但我很好奇容器大小,它将列表转换为集合变得值得.

换句话说,如果我打电话给下面的话:

arr = [1, 2, 3]
for i in range(1000000):
    random.randint(1,3) in arr
Run Code Online (Sandbox Code Playgroud)

它会比调用以下内容更有效吗?

s = set([1, 2, 3])
for i in range(1000000):
    random.randint(1,3) in s
Run Code Online (Sandbox Code Playgroud)

更重要的是,交叉长度是多少?

编辑:共识是,这完全取决于用户定义对象的哈希方法的有效性,但对于字符串,int等原语 - 截止值约为1-3.

python big-o list set

5
推荐指数
1
解决办法
2582
查看次数

Git - pack超过允许的最大大小

我正在使用大量的二进制文件.在最近更改到本地git仓库后,我尝试将我的更改重新推送到远程,只是为了收到以下错误.

remote: fatal: pack exceeds maximum allowed size

不幸的是,我无法使用此处描述的策略,因为所有更改都包含在单个提交中.有什么建议?我怎样才能解决这个包装尺寸限制?

git version-control

5
推荐指数
1
解决办法
4765
查看次数

为什么语言的简单性和执行时间之间似乎存在紧张关系?

在我看来,使用起来非常简单的语言(即Python)通常比被认为更复杂的语言(即C++或Java)的执行时间更慢.为什么?我知道问题的一部分源于Py​​thon被解释而不是编译,但是什么阻止Python(或其他高级语言)被有效编译?有没有你认为没有这种权衡的编程语言?

c++ python interpreter compilation execution

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

Python:获取shell命令“ history”的输出

我的最终目标是捕获终端中执行的上一条命令。由于〜/ .bash_history不包含当前终端会话中的命令,因此我不能简单地读取该文件。

在另一个线程中,我找到了以下脚本:

from subprocess import Popen, PIPE, STDOUT
shell_command = 'bash -i -c "history -r; history"'
event = Popen(shell_command, shell=True, stdin=PIPE, stdout=PIPE, 
    stderr=STDOUT)

output = event.communicate()
Run Code Online (Sandbox Code Playgroud)

这与我要查找的内容非常接近,但是由于它是作为子进程启动的,因此它也不包括当前终端会话的历史记录。有什么办法可以在当前shell中执行类似的命令?

python linux shell terminal ubuntu

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

Scikit-learn Ridge分类器:提取类概率

我目前正在使用sklearn的Ridge分类器,我正在寻找使用sklearn和其他库中的分类器来整合这个分类器.为了做到这一点,理想的是提取给定输入属于类列表中的每个类的概率.目前,我正在使用model.decision_function(x)的输出来压缩类,但这会返回超平面的距离,而不是简单的概率.这些距离值从大约-1到大约1不等.

distances = dict(zip(clf.classes_, clf.decision_function(x)[0]))  
Run Code Online (Sandbox Code Playgroud)

如何将这些距离转换为更具体的概率(一系列总和为1的正值)?我正在寻找类似于clf.predict_proba()sklearn中的SVC实现的东西.

python classification machine-learning scikit-learn

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

超过递归深度 - Python双向链表

我正在创建一个实现为双向链表的 FIFO,但我不知道为什么我会收到递归错误。我已经发布了我的代码和我在下面收到的错误。任何帮助将非常感激!

"""DLList.py"""

class DLList(object):
    """A doubly-linked list

    attributes: nl = node list"""
    def __init__(self, nl=[]):
        self.nl = nl

    def __str__(self):
        return str(self.nl)

    def __len__(self):
        return len(self.nl)

    def append(self, node):
        if not isinstance(node, DLNode):
            raise TypeError
        try:
            node.pn = self.nl[-1]
            node.pn.nn = node
            self.nl.append(node)
        except:
            self.nl.append(node)

    def pop(self):
        rn = self.nl.pop(0)
        try:
            self.nl[0].pn = None
        except:
            pass
        return rn


class DLNode(object):
    """A node in a doubly-linked list.

    attributes: self.pn = previous node, self.data = data, self.nn = next node"""
    def …
Run Code Online (Sandbox Code Playgroud)

python fifo doubly-linked-list

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