我正在使用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
.
你能告诉我,我做错了吗?我正在学习本教程.
我有一个由其邻接矩阵(一个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)
但可以优化.
我有一个带有 matplotlib 配置选项的自定义文件,按照此处的matplotlibrc
过程进行操作。当我第一次启动 Jupyter QtConsole 时(通过终端,如果重要的话),正在读取文件\xe2\x80\x94plots 使用我设置的选项,例如虚线网格线:
%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
在这里:
mpl.matplotlib_fname()\nOut[4]: \'C:\\\\Users\\\\my_username\\\\.matplotlib\\\\matplotlibrc\'\n
Run Code Online (Sandbox Code Playgroud)\n\n但是如果我导入seaborn:
\n\nimport seaborn as sns\n
Run Code Online (Sandbox Code Playgroud)\n\n然后绘图切换到seaborn风格:
\n\nplt.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
,但不使用它的样式。
我遇到了一个问题,在2个不同的函数中修改了全局变量后,该变量没有被“记住”。该变量df
应该是数据帧,在用户加载正确的文件之前,它不会指向任何内容。这类似于我拥有的东西(使用pandas
和tkinter
):
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()
?我在这里做错了什么?
我有一个像这样的数组:
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) 我的代码是这样的:
if (not Y):
print ("Can't print")
sys.exit(-1)
Run Code Online (Sandbox Code Playgroud)
我无法理解参数(-1
)返回什么?
我想要做的是按顺序减去该列表中的所有项目:
>>> 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 ×6
matplotlib ×2
scikit-learn ×2
debugging ×1
numpy ×1
pandas ×1
pca ×1
plot ×1
python-3.x ×1
qtconsole ×1
seaborn ×1
sys ×1