我在for循环中使用sklearn运行几个机器学习算法,并希望看到每个机器学习算法需要多长时间.问题是我还需要返回一个值,并且DONT想要多次运行它,因为每个算法都需要很长时间.有没有办法使用python的timeit模块或类似的函数捕获返回值'clf'...
def RandomForest(train_input, train_output):
clf = ensemble.RandomForestClassifier(n_estimators=10)
clf.fit(train_input, train_output)
return clf
Run Code Online (Sandbox Code Playgroud)
当我这样调用函数时
t = Timer(lambda : RandomForest(trainX,trainy))
print t.timeit(number=1)
Run Code Online (Sandbox Code Playgroud)
PS我也不想设置全局'clf',因为我可能想稍后进行多线程或多处理.
当我尝试使用docker-compose构建容器时
nginx:
build: ./nginx
ports:
- "5000:80"
Run Code Online (Sandbox Code Playgroud)
当我的Dockerfile看起来像这样时,COPY指令不起作用
FROM nginx
#Expose port 80
EXPOSE 80
COPY html /usr/share/nginx/test
#Start nginx server
RUN service nginx restart
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
假设我有一个名为arr = [1,2,3,4]的数组
如何使用最少2个参数生成所有可能的组合,最终看起来像
[1,2]
[1,3]
[1,4]
[1,2,3]
[1,2,4]
[1,2,3, 4]
[2,3]
[2,4]
Run Code Online (Sandbox Code Playgroud)
等等等等?我正在努力工作.我似乎无法使用itertools.combinbinations或排列,因为我需要知道参数大小,我似乎不能使用itertools.products,因为这将从列表列表中的每一个看起来像这样最少一个参数[[1],[2],[3],[4],[5]].特别感谢一个衬里和理解.
如果我想将它们全部加在一起那么在帮助方面要求太多吗?;-)
让我们说我有一个清单
demo = [['Adam', 'Chicago', 'Male', 'Bears'], ['Brandon', 'Miami', 'Male', 'Dolphins']]
Run Code Online (Sandbox Code Playgroud)
我想用一个看起来像的理解来制作一个字典列表
[{'Adam':'Chicago', 'Gender':'Male', 'Location':'Chicago', 'Team':'Bears'},
{'Brandon':'Miami', 'Gender':'Male', 'Location':'Miami', 'Team':'Dolphins'} }
Run Code Online (Sandbox Code Playgroud)
很容易分配两个起始值来获得类似的东西
{ s[0]:s[1] for s in demo}
Run Code Online (Sandbox Code Playgroud)
但是有没有合法的方法在这种理解中分配多个值,看起来像
{ s[0]:s[1],'Gender':s[2], 'Team':s[3] for s in demo}
Run Code Online (Sandbox Code Playgroud)
这是一个特定的问题,我不知道搜索的条款,所以我很难找到它,上面的例子给我一个语法错误.
我有一个简单的Dockerfile似乎没有执行CMD命令.
FROM nginx
#Expose port 80
EXPOSE 80
#Start nginx server
#RUN service nginx start
COPY startup_nginx.sh /startup_nginx.sh
RUN chmod +x /startup_nginx.sh
#CMD ["/usr/bin/wc","--help"]
CMD ['/startup_nginx.sh']
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
我有一个集合和字典,值= 5
v = s = {'a', 'b', 'c'}
d = {'b':5 //<--new value}
Run Code Online (Sandbox Code Playgroud)
例如,如果字典d中的键'b'在set s中,那么我想在返回字典理解时使该值等于新值,或者如果set s中的键不在字典d中则使该值等于0.所以这是我的代码,在s ['b'] = 5并且我的新词典是...
{'a':0, 'b':5, 'c':0}
Run Code Online (Sandbox Code Playgroud)
我写了一个字典理解
{ k:d[k] if k in d else k:0 for k in s}
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
为什么?!我很生气它不起作用.你是怎么做的如果在python中不是吗?
大家好抱歉.对于那些访问过这个页面的人,我最初放了{k:d [k]如果k in v else k:0 for k in v}而s ['b'] = 5只是表示我创建的新词典会有键'b'等于5,但它不正确你不能迭代这样的集合.
所以重申v和s是平等的.它们只是指向量和集合.
python ×4
python-3.x ×3
docker ×2
dockerfile ×2
combinations ×1
containers ×1
dictionary ×1
python-2.7 ×1
scikit-learn ×1
timeit ×1