我正在参加Kaggle Titanic比赛,我有一个关于输入缺失值的问题.我正在尝试使用Caret包,我的训练集包括因素和数字.
我想使用preProcess
Caret中的函数来估算缺失值,但在使用preProcess之前,我需要将所有因子转换为带有该dummyVars
函数的虚拟变量.
dummies = dummyVars(survived ~ . -1, data = train, na.action = na.pass)
xtrain = predict(dummies, train)
Run Code Online (Sandbox Code Playgroud)
然而,在使用dummyVars
转换因子的过程中,所有的NA都是通过一些未知的算法预测age
的,即使我已经指定,所有遗漏的列都变为1 na.action = na.pass
.我想将我的因子转换为虚拟变量而没有触及NA,所以我可以使用然后使用该preProcess
函数来估算它们.我怎样才能做到这一点?
谢谢.
在这里输入:
structure(list(survived = structure(c(1L, 2L, 2L, 2L, 1L, 1L,
1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 1L, 2L), .Label = c("0",
"1"), class = "factor"), pclass = structure(c(3L, 1L, 3L, 1L,
3L, 3L, 1L, 3L, 3L, 2L, 3L, 1L, 3L, …
Run Code Online (Sandbox Code Playgroud) 我有一堆不同长度的数据帧,范围从大约.15,000到500,000.对于这些数据帧中的每一个,我想将它们分成更小的数据帧,每个数据帧有300行,我将对其进行进一步处理.我怎样才能做到这一点?
这(按行数分割数据帧)提供了部分答案,但它不起作用,因为并非所有数据帧的长度都是300的倍数.
如果可以同时提供plyr和non-plyr解决方案,将非常感激.
谢谢!
我试图请求历史期货数据,但对于初学者来说,ibrokers.pdf文档记录不充分.示例Gold Miny Contract Dec11 NYSELIFFE:
goldminy<-twsFuture("YG","NYSELIFFE","201112",multiplier="33.2")
reqHistoricalData(conn,
Contract= "goldminy",
endDateTime"",
barSize = "1 S",
duration = "1 D",
useRTH = "0",
whatToShow = "TRADES","BID", "ASK", "BID_ASK",
timeFormat = "1",
tzone = "",
verbose = TRUE,
tickerId = "1",
eventHistoricalData,
file)
Run Code Online (Sandbox Code Playgroud)
我也不知道如何正确指定一些数据参数?
whatToShow?我需要Date,Time,BidSize,Bid,Ask,AskSize,Last,LastSize,Volume
tickerID?
eventHistoricalData?
档案?
我最近注意到我的R/RStudio安装存在问题.当我打开RStudio时,活动监视器中的CPU使用情况显示,即使R处于空闲状态且没有运行任何内容,rsession和kernel_task进程仍会占用约30%的使用率.我知道这是一个非常模糊的问题描述,我希望有人在这里可以指点如何调试此问题或发布更多相关信息.
谢谢.
> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_2.15.2
Run Code Online (Sandbox Code Playgroud) 如何从Interactive Brokers获取IND的历史数据?如果是期货,我会使用这个命令(这里建议IBrokers请求历史期货合约数据?):
library(twsInstrument)
a <- reqHistoricalData(tws, getContract("ESJUN2013"))
Run Code Online (Sandbox Code Playgroud)
但是对connid
标准普尔指数的相应指挥给出了一个错误:
> a <- reqHistoricalData(tws, getContract("11004968"))
Connected with clientId 110.
Contract details request complete. Disconnected.
waiting for TWS reply on ES ....failed.
Warning message:
In errorHandler(con, verbose, OK = c(165, 300, 366, 2104, 2106, :
Error validating request:-'uc' : cause - HMDS Expired Contract Violation:contract can not expire.
Run Code Online (Sandbox Code Playgroud)
PS有足够积分的人应该为IBrokers创建一个标签
我正在尝试使用Sys.glob打开一个名为"apcp_sfc_latlon_subset_19940101_20071231.nc".
以下命令的文件:
> Sys.glob(file.path("data/train", "apcp*"))
[1] "data/train/apcp_sfc_latlon_subset_19940101_20071231.nc"
Run Code Online (Sandbox Code Playgroud)
但是这个命令不会返回任何内容.我不知道为什么它不起作用.
> Sys.glob(file.path("data/train", "apcp", "*"))
character(0)
Run Code Online (Sandbox Code Playgroud)
我想要"apcp"位作为它自己的参数,因为我将传递变量而不是硬编码字符串.
谢谢.
我正在尝试在OS X上安装netCDF4 pip install netCDF4
,我收到以下错误:
------------------------------------------------------------
/usr/local/bin/pip run on Wed Aug 7 23:02:37 2013
Downloading/unpacking netCDF4
Running setup.py egg_info for package netCDF4
HDF5_DIR environment variable not set, checking some standard locations ..
checking /Users/mc ...
checking /usr/local ...
checking /sw ...
checking /opt ...
checking /opt/local ...
checking /usr ...
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/jj/0w0dd3n16jq4g5579g6c7h040000gn/T/pip-build/netCDF4/setup.py", line 114, in <module>
raise ValueError('did not find HDF5 headers')
ValueError: did not find HDF5 headers …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的一些处理工作从R转移到Python.在R中,我使用read.table()来读取非常混乱的CSV文件,它会以正确的格式自动拆分记录.例如
391788,"HP Deskjet 3050 scanner always seems to break","<p>I'm running a Windows 7 64 blah blah blah........ake this work permanently?</p>
<p>Update: It might have something to do with my computer. It seems to work much better on another computer, windows 7 laptop. Not sure exactly what the deal is, but I'm still looking into it...</p>
","windows-7 printer hp"
Run Code Online (Sandbox Code Playgroud)
正确分为4列.1条记录可以分成很多行,并且到处都有逗号.在RI只做:
read.table(infile, header = FALSE, nrows=chunksize, sep=",", stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
Python中有什么能够同样做到这一点吗?
谢谢!
我有一个numpy元组:
trainY = np.array([('php', 'image-processing', 'file-upload', 'upload', 'mime-types'),
('firefox',), ('r', 'matlab', 'machine-learning'),
('c#', 'url', 'encoding'), ('php', 'api', 'file-get-contents'),
('proxy', 'active-directory', 'jmeter'), ('core-plot',),
('c#', 'asp.net', 'windows-phone-7'),
('.net', 'javascript', 'code-generation'),
('sql', 'variables', 'parameters', 'procedure', 'calls')], dtype=object)
Run Code Online (Sandbox Code Playgroud)
我给出了这个np.array子集的索引列表:
x = [0, 4]
Run Code Online (Sandbox Code Playgroud)
和一个字符串:
label = 'php'
Run Code Online (Sandbox Code Playgroud)
我想计算标签'php'
出现在np.array的这个子集中的次数.在这种情况下,答案是2.
笔记:
1)标签只会出现在元组中的最多ONCE
2)元组的长度可以是1到5.
3)列表的长度x
通常为7-50.
4)长度trainY
约为0.8密耳
我目前的代码是:
sum([1 for n in x if label in trainY[n]])
Run Code Online (Sandbox Code Playgroud)
这是我的程序的性能瓶颈,我正在寻找一种方法来使它更快.我认为,我们可以在跳过循环x
,只是做了矢量化仰视trainY
喜欢trainY[x]
,但我无法得到的东西的工作.
谢谢.
我想itertools.product
返回一个列表而不是一个元组.我目前通过创建我自己的函数来做到这一点:
def product_list(*args, **kwds):
# product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
# product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
pools = map(tuple, args) * kwds.get('repeat', 1)
result = [[]]
for pool in pools:
result = [x + [y] for x in result for y in pool]
for prod in result:
yield list(prod) # Yields list() instead of tuple()
Run Code Online (Sandbox Code Playgroud)
代码来自Python文档 - 我刚刚修改了最后一行.这很好,但似乎不是很聪明.
这样做的其他方法是什么?我正在考虑使用类似的东西decorator
或用我自己的生成器函数包装它.我对这两个概念都不太熟悉所以如果有人能给我看,我会很感激.
编辑 我正在做一些像这样凌乱的事情:
for r0 in …
Run Code Online (Sandbox Code Playgroud)