小编tia*_*iao的帖子

Scikit-learnχ²(卡方)统计量和相应的列联表

在scikit-learn http://cikit-learn.org/stable/modules/generated/sklearn.feature_selection.chi2.html的卡方单面特征选择函数的文档中,它指出

该分数可用于选择具有来自X的χ2(卡方)统计值的最高值的n_features特征,其必须包含相对于类的布尔值或频率(例如,文档分类中的术语计数).

我很难理解相应的列联表是什么样的,特别是在频率特征的情况下.

例如,考虑具有布尔特征和目标的以下数据集:

import numpy as np

>>> X = np.random.randint(2, size=50).reshape(10, 5)
array([[1, 0, 0, 0, 1],
       [1, 1, 0, 1, 1],
       [1, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 1],
       [1, 0, 0, 0, 1],
       [1, 0, 1, 1, 1],
       [0, 1, 1, 0, 0],
       [1, 0, 1, 1, 1],
       [1, 1, 1, 1, 0]])

>>> y = np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 1, …
Run Code Online (Sandbox Code Playgroud)

python statistics numpy machine-learning scikit-learn

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

用于scikit-learn中的多类问题的级联分类器

假设我有一个多类别和特征层次的分类问题,例如"可食用","营养"和"营养丰富" - 所以它可以像这样表示

??? edible
?   ??? nutritious
?   ??? ~nutritious
??? ~edible
Run Code Online (Sandbox Code Playgroud)

虽然可以使用支持多类分类的分类器或者对于那些不支持多分类的分类器来获得合理的性能,但是在每个级别单独训练分类器并将它们连接起来以便将实例分类为'食用'可以归类为nutritious或不归类.

我想使用scikit-lean估算器作为构建块,我想知道我是否可以Pipeline提供支持,或者我是否需要编写自己的估算器来实现基本估算器并可能BaseEnsemble这样做.

@ogrisel之前已经在邮件列表http://sourceforge.net/mailarchive/message.php?msg_id=31417048上提到过,我想知道是否有人对如何进行此操作有任何见解或建议.

python machine-learning data-mining scikit-learn

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

Django Listview按对象方法排序并返回Python列表作为查询集

我有一个 Django 通用视图 (ListView),我想添加选项来通过它的方法对对象进行排序,这些方法有点复杂,并且可能难以使用extra(). 我意识到做到这一点的唯一方法是使用以下内容对 Queryset 进行排序():

sorted(queryset, key=lambda q: q.choice_entropy())
Run Code Online (Sandbox Code Playgroud)

但是,要将其合并到 ListView 中,并允许用户选择排序条件,我需要这样的东西

class IndexView(ListView):
    model = Question

    def get_queryset(self):
        queryset = super(IndexView, self).get_queryset()
        if 'order_by' in self.request.GET:
            if self.request.GET['order_by'] == 'entropy':
                return sorted(queryset, key=lambda q: q.choice_entropy())
            elif self.request.GET['order_by'] == 'newest':
                return queryset.order_by('-published_time')
            elif self.request.GET['order_by'] == ... (some other sorting criterion)
        return queryset
Run Code Online (Sandbox Code Playgroud)

这里的问题(大概)是sorted(queryset, key=lambda q: q.choice_entropy())return a <type 'list'>whilequeryset的类型是<class 'django.db.models.query.QuerySet'>

我不认为这会是一个问题,因为self.queryset实际上可以是任何可迭代的项目,而不仅仅是一个查询集。但 ListView 似乎不喜欢这个,我只是得到A server error …

python sorting django listview

5
推荐指数
0
解决办法
1685
查看次数