小编Ary*_*thy的帖子

带有Pandas数据帧的CountVectorizer

我正在使用scikit-learn进行文本处理,但我CountVectorizer没有提供我期望的输出.

我的CSV文件如下:

"Text";"label"
"Here is sentence 1";"label1"
"I am sentence two";"label2"
Run Code Online (Sandbox Code Playgroud)

等等.

所以我想首先使用Bag of Words来理解python中的SVM是如何工作的.

import pandas as pd
from sklearn import svm
from sklearn.feature_extraction.text import CountVectorizer

data = pd.read_csv(open('myfile.csv'),sep=';')

target = data["label"]
del data["label"]

# Creating Bag of Words
count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(data)
X_train_counts.shape 
count_vect.vocabulary_.get(u'algorithm')
Run Code Online (Sandbox Code Playgroud)

而当我这样做

print(X_train_counts.shape)
Run Code Online (Sandbox Code Playgroud)

我看到输出(1,1),而我有1048行句子.比我看看输出的

count_vect.vocabulary_.get(u'algorithm')
Run Code Online (Sandbox Code Playgroud)

这是None.

你能告诉我,我做错了吗?我正在学习教程.

python python-3.x scikit-learn

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

给定邻接矩阵,如何用matplotlib绘制图形?

我有一个由其邻接矩阵(一个numpy数组)描述的无向图,我想绘制它,顶点放在一个n正多边形中.此代码有效:

n = adyacency_mathix.shape[0]
axis = np.linspace(0, 2*np.pi, n, endpoint=False)
x, y = np.cos(axis), np.sin(axis)
for i in xrange(n):
    for j in xrange(i + 1, n):
        if self.matrix[i, j] == 1:
            pyplot.plot((x[i], x[j]), (y[i], y[j]), color = 'blue')
pyplot.show()
Run Code Online (Sandbox Code Playgroud)

但可以优化.

python plot numpy matplotlib graph-drawing

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

Matplotlib:seaborn 导入后忽略 matplotlibrc 文件

我有一个带有 matplotlib 配置选项的自定义文件,按照此处的matplotlibrc过程进行操作。当我第一次启动 Jupyter QtConsole 时(通过终端,如果重要的话),正在读取文件\xe2\x80\x94plots 使用我设置的选项,例如虚线网格线:

\n\n
%matplotlib inline\n\nplt.plot([1, 2, 3])\nOut[2]: [<matplotlib.lines.Line2D at 0x9d2fe80>]\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

文件matplotlibrc在这里:

\n\n
mpl.matplotlib_fname()\nOut[4]: \'C:\\\\Users\\\\my_username\\\\.matplotlib\\\\matplotlibrc\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是如果我导入seaborn:

\n\n
import seaborn as sns\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后绘图切换到seaborn风格:

\n\n
plt.plot([1, 2, 3])\nOut[6]: [<matplotlib.lines.Line2D at 0xceb9cc0>]\n
Run Code Online (Sandbox Code Playgroud)\n\n

在此输入图像描述

\n\n

是否可以在保留原始绘图风格的同时导入seaborn? 我想使用它的功能,例如seaborn.heatmap,但不使用它的样式。

\n

python matplotlib qtconsole seaborn

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

Python全局变量-未定义?

我遇到了一个问题,在2个不同的函数中修改了全局变量后,该变量没有被“记住”。该变量df应该是数据帧,在用户加载正确的文件之前,它不会指向任何内容。这类似于我拥有的东西(使用pandastkinter):

global df

class World:

    def __init__(self, master):
        df = None
        ....

    def load(self):
        ....
        df = pd.read_csv(filepath)

    def save(self):
        ....
        df = df.append(...)
Run Code Online (Sandbox Code Playgroud)

save()总是被称为load()。问题是,当我调用时save(),出现了“ df未定义” 的错误。我以为已df在中进行了初始分配init(),然后在中进行了“更新” load()?我在这里做错了什么?

python debugging global-variables pandas

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

如何在 sklearn 的 PCA 之后保留行标题

我有一个像这样的数组:

sampleA 1 2 2 1 
sampleB 1 3 2 1
sampleC 2 3 1 2
Run Code Online (Sandbox Code Playgroud)

我的目标是在样本中运行 PCA 并查看它们的聚类。但是,我需要在行标题中保留样本名称。有什么办法可以做到这一点吗?所需的 PCA 结果包括行标题:

sampleA 0.13 0.1
sampleB 0.1 0.4
sampleC 0.1 0.1
Run Code Online (Sandbox Code Playgroud)

目前只运行这两个简单的行:

my_pca = PCA(n_components=8)
trans = my_pca.fit_transform(in_array)
Run Code Online (Sandbox Code Playgroud)

python pca scikit-learn

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

我想知道sys.exit(-1)在python中到底返回什么?

我的代码是这样的:

if (not Y):
    print ("Can't print")
    sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)

我无法理解参数(-1)返回什么?

sys

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

如何用Python减去列表中的所有项?

我想要做的是按顺序减去该列表中的所有项目:

>>> ListOfNumbers = [1,2,3,4,5,6,7,8,9,10]
>>> 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10  # should be computed
-53
Run Code Online (Sandbox Code Playgroud)

python

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