小编ong*_*enz的帖子

为给定文档选择前 n 个 TFIDF 特征

我正在使用 TFIDF 稀疏矩阵进行文档分类,并且希望仅保留每个文档的前 n 个(比如 50 个)术语(按 TFIDF 分数排名)。请参阅下面的编辑

import numpy as np
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer

tfidfvectorizer = TfidfVectorizer(analyzer='word', stop_words='english', 
                              token_pattern='[A-Za-z][\w\-]*', max_df=0.25)
n = 50

df = pd.read_pickle('my_df.pickle')
df_t = tfidfvectorizer.fit_transform(df['text'])

df_t
Out[15]: 
<21175x201380 sparse matrix of type '<class 'numpy.float64'>'
    with 6055621 stored elements in Compressed Sparse Row format>
Run Code Online (Sandbox Code Playgroud)

我已经尝试按照这篇文章中的示例进行操作,虽然我的目的不是显示特征,而是在训练前为每个文档选择前 n 个。但是我收到内存错误,因为我的数据太大而无法转换为密集矩阵。

df_t_sorted = np.argsort(df_t.toarray()).flatten()[::1][n]
Traceback (most recent call last):

  File "<ipython-input-16-e0a74c393ca5>", line 1, in <module>
    df_t_sorted = np.argsort(df_t.toarray()).flatten()[::1][n]

  File "C:\Users\Me\AppData\Local\Continuum\anaconda3\lib\site-packages\scipy\sparse\compressed.py", …
Run Code Online (Sandbox Code Playgroud)

python sparse-matrix tf-idf scikit-learn text-classification

9
推荐指数
2
解决办法
7443
查看次数

通过 Windows 命令行使用 conda 安装 sklearn_pandas

我想通过 Windows 命令行使用conda安装sklearn_pandas库。该软件包在 conda 存储库中显然是“私有的”(诚然,这很可能是我无法安装它的原因,但我更愿意寻求建议,以防万一有办法解决此问题)。

我试过了conda install -c creditx sklearn_pandas,但出现以下错误:

Solving environment: failed

PackagesNotFoundError: The following packages are not available from current cha
nnels:

  - sklearn_pandas

Current channels:

  - https://conda.anaconda.org/creditx/win-64
  - https://conda.anaconda.org/creditx/noarch
  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/free/win-64
  - https://repo.anaconda.com/pkgs/free/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/pro/win-64
  - https://repo.anaconda.com/pkgs/pro/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar …
Run Code Online (Sandbox Code Playgroud)

windows command-line scikit-learn conda sklearn-pandas

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

在seaborn stripplot中添加色调类别标签

我有两个数据框,我将它们绘制为条形图。我几乎可以按照自己的意愿绘制它们,但我想知道是否可以为“色调”添加类别标签。

目前的剧情是这样的:

示例情节。

但是,我想将类别标签(只有两个)添加到每个字母的每个“列”中。所以它看起来像这样:

在此输入图像描述

数据帧看起来像这样(尽管这些只是编辑过的片段):

     Case Letter Size Weight
0   upper      A   20   bold
1   upper      A   23   bold
2   lower      A   61   bold
3   lower      A   62   bold
4   upper      A   78   bold
5   upper      A   95   bold
6   upper      B   23   bold
7   upper      B   40   bold
8   lower      B   47   bold
9   upper      B   59   bold
10  upper      B   61   bold
11  upper      B   99   bold
12  lower      C   23   bold
13  upper      D   23   bold
14  upper …
Run Code Online (Sandbox Code Playgroud)

python matplotlib pandas seaborn

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

列表上环绕运行窗口

我希望使用“滑动窗口”将列表拆分为相同大小的块,但我不想在末尾截断列表,而是想环绕,以便最终的块可以分布在列表的开头和结尾。

例如,给定一个列表:

l = [1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)

我希望生成大小为 n=3 的块,如下所示:

[1, 2, 3], [4, 5, 6]
[2, 3, 4], [5, 6, 1]
[3, 4, 5], [6, 1, 2]
Run Code Online (Sandbox Code Playgroud)

或者,具有大小为 n=2 的块的同一列表应按如下方式拆分:

[1, 2], [3, 4], [5, 6]
[2, 3], [4, 5], [6, 1]
Run Code Online (Sandbox Code Playgroud)

该列表可能不会被均匀地划分为 n 个子列表(例如,如果原始列表的长度为 7 并且 n=3 - 或除 7 或 1 之外的任何值)。与通常情况一样,舍入值len(l) / n可用于确定分割大小。

这篇文章是相关的,尽管它没有按照我的需要进行环绕。我已经尝试过但没有成功任何有用的东西。任何建议将非常受欢迎!

python list

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