我正在尝试使用python中的pandas从分类变量创建一系列虚拟变量.我遇到过这个get_dummies
函数,但每当我尝试调用它时,我都会收到一个名称未定义的错误.
任何想法或其他方式来创建虚拟变量将不胜感激.
编辑:由于其他人似乎正在遇到这个,get_dummies
大熊猫的功能现在完全正常.这意味着以下应该有效:
import pandas as pd
dummies = pd.get_dummies(df['Category'])
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅http://blog.yhathq.com/posts/logistic-regression-and-python.html.
我有一个脚本,包括从列表中打开文件,然后对该文件中的文本执行某些操作.我正在使用python多处理和Pool来尝试并行化这个操作.脚本的抽象如下:
import os
from multiprocessing import Pool
results = []
def testFunc(files):
for file in files:
print "Working in Process #%d" % (os.getpid())
#This is just an illustration of some logic. This is not what I'm actually doing.
for line in file:
if 'dog' in line:
results.append(line)
if __name__=="__main__":
p = Pool(processes=2)
files = ['/path/to/file1.txt', '/path/to/file2.txt']
results = p.apply_async(testFunc, args = (files,))
results2 = results.get()
Run Code Online (Sandbox Code Playgroud)
当我运行它时,每次迭代的进程id的打印输出都是相同的.基本上我正在尝试做的是获取输入列表的每个元素并将其分支到一个单独的进程,但似乎一个进程正在完成所有工作.
我正在尝试使用在R中使用神经网络包训练的神经网络来预测测试数据集的类(0或1).
我的数据看起来如下:
火车:
x1 x2 x3 x4 y
0.557 0.6217009 0.4839 0.5606936 0
0.6549 0.6826347 0.4424 0.4117647 1
0.529 0.5744681 0.5017 0.4148148 1
0.6016771 0.5737052 0.3526971 0.3369565 1
0.6353945 0.6445013 0.5404255 0.464 1
0.5735294 0.6440678 0.4385965 0.5698925 1
0.5252 0.5900621 0.4412 0.448 0
0.7258687 0.7022059 0.5347222 0.4498645 1
Run Code Online (Sandbox Code Playgroud)
和更多.
测试集看起来与训练数据完全相同,只是具有不同的值(如果需要,我将发布一些样本).
我使用的代码如下:
> library(neuralnet)
> nn <- neuralnet(y ~ x1+x2+x3+x4, data=train, hidden=2, err.fct="ce", linear.output=FALSE)
> plot(nn)
> compute(nn, test)
Run Code Online (Sandbox Code Playgroud)
网络训练,我可以成功绘制网络,但计算不起作用.当我运行compute时,它给出了以下错误:
Error in neurons[[i]] %*% weights[[i]] : non-conformable arguments
Run Code Online (Sandbox Code Playgroud)
所以基本上我正在尝试训练神经网络以成功分类新的测试数据.
任何帮助表示赞赏.
编辑: …
我正在尝试使用BeautifulSoup从网站上发表演讲.然而,我遇到了问题,因为演讲分为许多不同的段落.我对编程非常陌生,并且无法弄清楚如何处理这个问题.页面的HTML如下所示:
<span class="displaytext">Thank you very much. Mr. Speaker, Vice President Cheney,
Members of Congress, distinguished guests, fellow citizens: As we gather tonight, our Nation is
at war; our economy is in recession; and the civilized world faces unprecedented dangers.
Yet, the state of our Union has never been stronger.
<p>We last met in an hour of shock and suffering. In 4 short months, our Nation has comforted the victims,
begun to rebuild New York and the Pentagon, rallied a great …
Run Code Online (Sandbox Code Playgroud) 我有一个带有多个参数的函数,其中一些是布尔值.我试图将其传递给多处理,pool.apply_async
并希望传递一些带有附加名称的args.
这是我正在使用的示例脚本:
from multiprocessing import Pool
def testFunc(y, x, calcY=True):
if calcY == True:
return y*y
elif calcY == False:
return x*x
if __name__ == "__main__":
p = Pool()
res = p.apply_async(testFunc, args = (2, 4, False))
print res.get()
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我很好奇将其更改为res = p.apply_async(testFunc, args = (2, 4, False))
:
res = p.apply_async(testFunc, args = (2, 4, calcY = False))
Run Code Online (Sandbox Code Playgroud) 我正在尝试在AWS EC2集群上以R并行运行分析.我正在使用starcluster来设置和管理EC2集群,我正在尝试使用snow
和
foreach
在R中.首先,我在集群中有2个节点,1个主节点和1个工作节点.
starcluster start mycluster
starcluster listinstances
-----------------------------------------
mycluster (security group: @sc-mycluster)
-----------------------------------------
....
Cluster nodes:
master running i-xxxxxxxxx masterIP.compute-1.amazonaws.com
node001 running i-xxxxxxxxx node001IP.compute-1.amazonaws.com
Total nodes: 2
starcluster sshmaster mycluster
Run Code Online (Sandbox Code Playgroud)
然后我启动R并加载snow
包并尝试创建一个集群对象.
R
library("snow")
cl = makeCluster(c("masterIP.compute-1.amazonaws.com", "node001IP.compute-1.amazonaws.com"), type = "SOCK")
Run Code Online (Sandbox Code Playgroud)
但是,这会给我以下错误消息:
The authenticity of host 'masterIP.compute-1.amazonaws.com (xx.xxx.xx.xx)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'masterIP.compute-1.amazonaws.com,xx.xxx.xx.xx' (ECDSA) to the list of …
Run Code Online (Sandbox Code Playgroud) 我有两个问题.
首先,我正在写一个基于Scrapy中的CrawlSpider蜘蛛的web-scraper .我的目标是抓住一个拥有数千个(可能达到数十万)记录的网站.这些记录从起始页面向下埋藏2-3层.所以基本上我在某个页面上有蜘蛛启动,爬行直到找到特定类型的记录,然后解析html.我想知道是什么方法来防止我的蜘蛛超载网站?是否有可能以渐进方式执行操作或在不同请求之间暂停?
第二,相关的是,是否有一种Scrapy方法可以测试爬行器而不会对站点施加过度的压力?我知道你可以在程序运行时终止程序,但有没有办法让脚本在遇到像我想要抓取的信息的第一页之类的东西后停止?
任何建议或资源将不胜感激.
我写了一个Scrapy蜘蛛,它从页面中提取文本.蜘蛛在许多页面上正确地解析和输出,但是被一些页面抛弃了.我正在尝试在文档中维护换行符和格式.诸如http://www.state.gov/r/pa/prs/dpb/2011/04/160298.htm等页面的格式正确如下:
2011年4月7日
Mark C. Toner
美国东部时间下午2:03
先生.TONER:大家下午好.顶部有几件事情,然后我会问你的问题.我们谴责以最强烈的措辞袭击以色列南部的无辜平民,并谴责来自加沙的持续火箭弹袭击事件.正如我们多次重申的那样,没有理由以无辜平民为目标,应对追究这些恐怖主义行为的人负责.我们特别关切的是有报告表明在攻击平民方面使用先进的反坦克武器,并重申所有国家都有联合国安全理事会有关决议规定的义务,以防止非法贩运武器和弹药.也只是一个简短的声明 -
问题:我们可以坚持一秒钟吗?
先生.TONER:是的.来吧,马特.
问题:显然,目标是校车.这会增加你的愤怒吗?
先生.TONER:嗯,对无辜平民的任何攻击都是令人憎恶的,但攻击的性质肯定是如此.
虽然像http://www.state.gov/r/pa/prs/dpb/2009/04/121223.htm这样的页面输出如下,但没有换行符:
2009年4月2日
罗伯特伍德
上午11:53 EDTMR.伍德:大家早上好.我想,它还在上午.欢迎来到简报.我没有,有什么,所以,先生.问题:朝鲜人已经开始为靠近现场的油轮或其他东西提供燃料.他们可能会也可能不会为这种导弹提供燃料.你现在对朝鲜人有什么智慧之词?伍德:嗯,马特,我,我不会评论,你知道,情报很重要.但是,我再说一次,我们呼吁朝鲜停止发射任何类型的导弹.这会适得其反.它具有挑衅性.它进一步加剧了该地区的紧张局势.我们希望看到朝鲜重新回到六方框架并专注于无核化.是的.问:日本也表示他们将要求安理会召开紧急会议,你知道,如果这次会议继续进行的话.这也是你要找的东西吗?MR.伍德:嗯,让我们看看这个测试是否发生了.我们当然希望它没有.再次呼吁北方不要这样做.但当然,我们会,"如果测试确实进展,我们将与我们的盟友进行讨论.
我正在使用的代码如下:
def parse_item(self, response):
self.log('Hi, this is an item page! %s' % response.url)
hxs = HtmlXPathSelector(response)
speaker = hxs.select("//span[contains(@class, 'official_s_name')]") #gets the speaker
speaker = speaker.select('string()').extract()[0] #extracts speaker text
date = hxs.select('//*[@id="date_long"]') #gets the date
date = date.select('string()').extract()[0] #extracts the date
content = hxs.select('//*[@id="centerblock"]') #gets the content
content = content.select('string()').extract()[0] #extracts the content
texts = "%s\n\n%s\n\n%s" % (date, speaker, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用AWS上的集群计算进行实验.我对此非常陌生并且遇到了一些问题.我正在尝试按照此处的教程进行操作:http://star.mit.edu/cluster/docs/latest/plugins/ipython.html#using-the-ipython-cluster.我使用starcluster来启动具有以下内容的集群实例:
starcluster start mycluster
Run Code Online (Sandbox Code Playgroud)
一切都按预期出现,它表明ipython插件已加载.然后我尝试执行以下命令,如教程中所示:
starcluster sshmaster mycluster -u myuser
Run Code Online (Sandbox Code Playgroud)
然而,连接失败了,告诉我
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)
我可以使用登录
starcluster sshmaster mycluster
Run Code Online (Sandbox Code Playgroud)
所以我试图继续登录到主人的教程,但是当我尝试创建我收到的客户端时出错并且:
AssertionError: Not a valid connection file or url:
u'/root/.ipython/profile_default/security/ipcontroller-client.json'
Run Code Online (Sandbox Code Playgroud)
我看到的唯一与众不同的是群集启动时出现的情况:
>>> Running plugin ipcluster
>>> Writing IPython cluster config files
>>> Starting IPython cluster with 7 engines
>>> Waiting for JSON connector file...
>>> Creating IPCluster cache directory: /Users/username/.starcluster/ipcluster
>>> Saving JSON connector file to '/Users/username/.starcluster/ipcluster/mycluster-us-east-1.json'
!!! ERROR - Error occurred while running plugin 'ipcluster':
Traceback (most …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Scrapy蜘蛛抓取页面,然后将这些页面以可读的形式保存到.txt文件中.我用来做这个的代码是:
def parse_item(self, response):
self.log('Hi, this is an item page! %s' % response.url)
hxs = HtmlXPathSelector(response)
title = hxs.select('/html/head/title/text()').extract()
content = hxs.select('//*[@id="content"]').extract()
texts = "%s\n\n%s" % (title, content)
soup = BeautifulSoup(''.join(texts))
strip = ''.join(BeautifulSoup(pretty).findAll(text=True))
filename = ("/Users/username/path/output/Hansard-" + '%s'".txt") % (title)
filly = open(filename, "w")
filly.write(strip)
Run Code Online (Sandbox Code Playgroud)
我在这里结合了BeautifulSoup,因为正文包含了我在最终产品(主要是链接)中不需要的大量HTML,因此我使用BS去除HTML并仅留下感兴趣的文本.
这给了我看起来像的输出
[u"School, Chandler's Ford (Hansard, 30 November 1961)"]
[u'
\n \n
HC Deb 30 November 1961 vol 650 cc608-9
\n
608
\n
\n
\n
\n
\xa7
\n
28.
\n
Dr. King
\n
\n …
Run Code Online (Sandbox Code Playgroud)