我一直在和CountVectorizerscikit-learn 一起上课.
据我所知,如果以下面显示的方式使用,最终输出将包含一个包含要素计数或标记的数组.
这些令牌是从一组关键字中提取的,即
tags = [
"python, tools",
"linux, tools, ubuntu",
"distributed systems, linux, networking, tools",
]
Run Code Online (Sandbox Code Playgroud)
下一步是:
from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer(tokenizer=tokenize)
data = vec.fit_transform(tags).toarray()
print data
Run Code Online (Sandbox Code Playgroud)
我们得到的地方
[[0 0 0 1 1 0]
[0 1 0 0 1 1]
[1 1 1 0 1 0]]
Run Code Online (Sandbox Code Playgroud)
这很好,但我的情况有点不同.
我想以与上面相同的方式提取功能,但我不希望这些行data与从中提取功能的文档相同.
换句话说,我怎样才能得到另一组文件的计数,比方说,
list_of_new_documents = [
["python, chicken"],
["linux, cow, ubuntu"],
["machine learning, bird, fish, pig"]
]
Run Code Online (Sandbox Code Playgroud)
得到:
[[0 0 0 1 0 0]
[0 1 …Run Code Online (Sandbox Code Playgroud) 如果我有这样的框架
frame = pd.DataFrame({'a' : ['the cat is blue', 'the sky is green', 'the dog is black']})
Run Code Online (Sandbox Code Playgroud)
我想检查这些行中是否包含某个单词我必须这样做.
frame['b'] = frame.a.str.contains("dog") | frame.a.str.contains("cat") | frame.a.str.contains("fish")
Run Code Online (Sandbox Code Playgroud)
frame['b'] 输出:
True
False
True
Run Code Online (Sandbox Code Playgroud)
如果我决定列一个清单
mylist =['dog', 'cat', 'fish']
Run Code Online (Sandbox Code Playgroud)
我如何检查列中是否包含某个单词?
我想删除在特定字段中找到的字符串的一部分.
例如,该字段中的条目可以是"01365320 APS ".我正在考虑删除"APS".
我的问题是,我应该使用:
SELECT SUBSTRING_INDEX('fieldname','APS', 1)
Run Code Online (Sandbox Code Playgroud) 我对如何在Python中的scikit-learn库中使用ngrams感到有点困惑,具体来说,这个ngram_range参数在CountVectorizer中是如何工作的.
运行此代码:
from sklearn.feature_extraction.text import CountVectorizer
vocabulary = ['hi ', 'bye', 'run away']
cv = CountVectorizer(vocabulary=vocabulary, ngram_range=(1, 2))
print cv.vocabulary_
Run Code Online (Sandbox Code Playgroud)
给我:
{'hi ': 0, 'bye': 1, 'run away': 2}
Run Code Online (Sandbox Code Playgroud)
在我明显错误的印象中,我会得到unigrams和bigrams,就像这样:
{'hi ': 0, 'bye': 1, 'run away': 2, 'run': 3, 'away': 4}
Run Code Online (Sandbox Code Playgroud)
我正在使用这里的文档:http: //scikit-learn.org/stable/modules/feature_extraction.html
显然,我对如何使用ngrams的理解存在严重错误.也许这个论点没有效果,或者我对一个真正的二元组有一些概念上的问题!我很难过.如果有人提出建议,我会感激不尽.
更新:
我意识到了我的方式的愚蠢.我的印象是ngram_range会影响词汇,而不是语料库.
我有以下查询:
SELECT c.*
FROM companies AS c
JOIN users AS u USING(companyid)
JOIN jobs AS j USING(userid)
JOIN useraccounts AS us USING(userid)
WHERE j.jobid = 123;
Run Code Online (Sandbox Code Playgroud)
我有以下问题:
任何帮助,将不胜感激!
我正在阅读k-means聚类和k-medoid聚类之间的区别.
据推测,在k-medoid算法中使用成对距离度量有一个优点,而不是更熟悉的欧几里德距离型度量平方和来评估我们用k均值找到的方差.显然,这种不同的距离度量会以某种方式降低噪音和异常值.
我已经看到了这个说法,但我还没有看到任何关于这一主张背后的数学的理由.
是什么使k-medoid中常用的成对距离测量更好?更准确地说,缺乏平方项如何使k-medoids具有与取中位数概念相关的理想属性?
理想情况下,我需要一个相当于的查询
select * from customer where row_number() = 3
Run Code Online (Sandbox Code Playgroud)
但这是非法的.
我无法使用自动增量字段.
row_number()是需要选择的行.
我该怎么做?
编辑:嗯,我使用iSql*plus来练习,并且使用limit和auto_increment由于某种原因是非法的.我最终创建了一个序列和一个触发器,每当有一个条目时,我就将id加1.
我有制表符分隔的文本文件,名为'a.txt'.D列为空.
A B C D
10 20 NaN
30 40
40 30 20
20 NA 20
Run Code Online (Sandbox Code Playgroud)
我希望数据框看起来和文本文件一样,在第2行和第2列中有空格.
不幸的是,read.csv正在将所有空白和NA转换为"NA".我想读NA和NaN作为字符.
b<- read.csv("a.txt",sep="\t", skip =0, header = TRUE, comment.char = "",check.names = FALSE, quote="", )
Run Code Online (Sandbox Code Playgroud)
总结一下:我想在输出文件中复制相同的值而不修改它们:
getCommentary=function(){
Commentary=readLines(file("C:\\Commentary\\com.txt"))
return(Commentary)
close(readLines)
closeAllConnections()
}
Run Code Online (Sandbox Code Playgroud)
我不知道这个功能有什么问题.当我在R中运行它时,它不断给我以下警告:
Warning message:
closing unused connection 5 ("C:\\Commentary\\com.txt")
Run Code Online (Sandbox Code Playgroud) 我创建了一个随机森林并预测了我的测试集的类,它们在数据帧中幸福地生活:
row.names class 564028 1 275747 1 601137 0 922930 1 481988 1 ...
该 row.names属性告诉我在进行各种操作之前哪一行是哪一行,这些操作在进程中扰乱了行的顺序.到现在为止还挺好.
现在,我想对我的预测的准确性有一个普遍的感觉.为此,我需要使用此数据框并根据row.names属性按升序对其重新排序.通过这种方式,我可以将观察结果与行标识进行比较,我已经知道了.
请原谅我提出这样一个基本问题,但对于我的生活,我找不到关于如何完成这项琐碎任务的良好信息来源.
文档恳求我:
使用
attr(x, "row.names"),如果你需要获取一个整数值组行的名字.
但这让我一无所获NULL.
我的问题是,row.names在整个工作流程中,我如何使用忠实地跟随我的数据框架的各种形式?这不是它的用途吗?
mysql ×3
python ×3
r ×3
scikit-learn ×2
sql ×2
data-mining ×1
dataframe ×1
join ×1
k-means ×1
n-gram ×1
pandas ×1
python-2.7 ×1
read.csv ×1
readline ×1
row-number ×1
select ×1
string ×1
tf-idf ×1
warnings ×1