小编Red*_*ift的帖子

了解Sklearn中Tfidfvectorizer的矩阵输出

我在解释Tfidf矢量化器的矩阵输出时遇到了麻烦.

特定

vectorizer = TfidfVectorizer(max_df=0.5, max_features=10000,
                         min_df=2, stop_words='english',
                         use_idf=True)


X_train_tfidf = vectorizer.fit_transform(X_train_raw)
Run Code Online (Sandbox Code Playgroud)

如果我要查看输出X_train_tfidf,我是否正在查看结构如下的矩阵:

第1列对应于文档1,其中元素是10000个特征的tfidf分数,第2列对应于文档2 ......依此类推?

python matrix tf-idf scikit-learn

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

Python剧情3d矢量

假设我想采用以下三个[x,y,z]坐标:

[0.799319 -3.477045e-01 0.490093]

[0.852512 9.113778e-16 -0.522708]

[0.296422 9.376042e-01 0.181748]

并将它们绘制为矢量,其中矢量从原点[0,0,0]开始.我该怎么做呢?我一直在尝试使用matplotlib的箭袋,但我一直在设置以下值错误:

ValueError: need at least one array to concatenate
Run Code Online (Sandbox Code Playgroud)

这是我的代码(document_matrix_projections是上面表示为矩阵的三个坐标):

D1, D2, D3 = zip(*document_matrix_projections)

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.quiver(D1)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

3
推荐指数
2
解决办法
6398
查看次数

优化递归函数

我目前正在处理一个处理大量递归调用的副项目。我不是计算机科学家,所以我不确定如何优化我的代码。我知道递归函数的效率不是很高,而且我听说您经常可以用尾调用替换它,但我不确定如何去做。该函数接受三个数组:appendList、sequence 和 used。其他参数 base、length、index 和 last word 都是整数。

function Recursion(appendList, base, length, sequence, used, lastWord, index)
#Global variables:
global G_Seq_List
global G_Seq_Index

used = ones(UInt8, 1, base^length)
used[1] = 0

if index == base^length
    check = zeros(UInt8, base^length, 1)

    for i = 1 : base^length
        index = 1
        for j = 1 : length
            k = mod(i+j-1,base^length)
            index = index + base^(length - j)*sequence[k+1] 
        end

        check[index] = check[index] + 1

        if check[index] != 1 
            return
        end
    end

    G_Seq_List[G_Seq_Index,:] = sequence[:] …
Run Code Online (Sandbox Code Playgroud)

optimization recursion tail-recursion

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