实验建设者

experimentator的Python项目详细描述


一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个又一个的的的的Git徽章
Coverage徽章|||| DOI徽章|特拉维斯徽章图片:http://img.shields.io/travis/hsharrison/experiator.png?style=flat
:alt:travis ci build status
:target:https://travis ci.org/hsharrison/experiator

。|覆盖徽章图片:http://img.shields.io/covertalls/hsharrison/experiator.png?style=flat
:alt:coverage status
:target:https://coveralls.io/r/hsharrison/experiator

。|版本徽章图片::http://img.shields.io/pypi/v/experiator.png?style=flat
:alt:pypi package
:target:https://pypi.python.org/pypi/experiator

。|许可证徽章图像::http://img.shields.io/badge/license-mit-blue.png?style=flat
:alt:license
:target:https://pypi.python.org/pypi/experiator

。| Git Badge图片:http://img.shields.io/badge/repo-git-lightgrey.png?style=flat
:alt:git repository
:target:https://github.com/hsharrison/experiator

。| doi badge image::https://zenodo.org/badge/22554/hsharrison/experiator.svg
:alt:doi
:target:https://zenodo.org/badge/latestdoi/22554/hsharrison/experiator

`documentation contents`\br/>
。_文档内容:http://experimator.readthedocs.org/en/latest/contents




是否编写代码来运行实验?
如果是这样的话,你可能有过这样的经历:坐下来编写一个实验的代码,但却被所有的后勤工作所左右:
跨越你的自变量形成条件,
重复你的条件,
随机化,
存储中间数据,
等等。尝试在你的实验真正独特之前把所有的努力都投入到
中去。
更糟的是,它鼓励错误的编码实践
就像从别人的实验代码中复制粘贴模板
而不理解它。

/>为了处理运行实验的所有无聊的后勤工作,并让您直接了解您真正感兴趣的内容,无论是什么。
此软件包最初是为行为实验设计的,在行为实验中,人类参与者与图形界面进行交互,
但是这里没有任何特定的领域——它应该对任何使用计算机运行实验的人都有用。
您可能会说**实验者**是一个库,用于
"在系统地改变输入并保存数据的同时重复调用一个函数"
(尽管这并不能满足完全公正)。

e上述功能,
使您可以自由选择您喜欢的。
它最适合具有编程经验和一些python生态系统知识的人,
他们宁愿为项目的每个方面选择最好的工具,而不是使用一体式包。

当然,也有一些替代方案可以提供实验性的设计功能和其他功能。
文档后面列出了一个选项和推荐的免费软件包。

l实验。
为了举例,假设我们将在屏幕的左侧或右侧为指定的时间量,
并要求参与者确定。
我们将使用因子2(边)x 3(显示时间)设计,
并且每个参与者总共有60个试验(每个条件10个)。
以下是实验者可能的样子:


。代码块::python

import random
from time import time
from experiator import experiment,order



def present_simulation_and_get_response(simulation,side,duration):



def run_trial(实验,实验):
刺激,答案=随机。选择(
列表(实验,实验数据["刺激"].items()))
开始时间=时间()
响应=当前刺激和获得反应(试验,数据["侧边"),试验。数据["显示时间"e'])
结果={
"反应时间":time()-开始时间,
"正确":响应==应答
}
返回结果



'显示时间':[0.1,0.55,1],
}
n_参与者=20,
顺序=顺序.洗牌(10),
文件名='exp_1.exp')

实验.实验数据['stimuli']=刺激和回答,运行"试用版")
experiment.save()

运行此脚本将在文件"exp-1.exp"中创建实验。
我们现在可以从命令行运行会话:


exp-run exp-1.exp-participant 1
ly,我们可以将数据导出到文本文件::



,或者在python会话中访问数据:

。代码块:python

从ivs中,带有标签`'side``和`'display_time``,
,以及两个带有标签`'reaction_time``和`'correct'``
(字典中的键由`'run_trial``返回)的数据列。

注意:

如果你在工作中使用实验者,无论是否发表,请告诉我<;mailto:henry.schafer.harrison@gmail.com>;` `.
我很想知道你用它做什么!
如果您发布了引文,可以在这里找到引文信息<;https://zenodo.org/badge/latestdoi/22554/hsharrison/experiator>;` `.


Dependencies
----

它还取决于以下python库:

-`Numpy````Numpy`````熊猫`````Docopt<;http://docopt.org/>;``````Docopt<;http://docopt.org/>;``Schema<;http://github.com/halst/schema>;```````````````Py亚姆勒<;http://pyyaml.org/wiki/pyyaml>;http://pyyaml.org/wiki/pyyaml>;```````Numpy`````````````网络``Networkx<;http://networkx.networkx.readthedocs.org/en/docs br/>测试所需:

-` pytest<;http://pytest.org/最新/>;`\


>生成文档所需的文档:


-`sphinx<;http://sphinx doc.org/gt;`\br/>-`numpydoc<;http://sphinx doc.org/>;`\br/>-`numpydoc<;https://github.com/numpy/numpyydoc>;`\br/>-`sphinx rtd主题<;http://github.com/snide/snide/sphinx/sphinx-rtd-rtd-theme>;`\br/>

最简单的方法要安装这些库,特别是在windows上,
使用continuum的免费python发行版'anaconda<;https://store.continuum.io/cshop/anaconda/>;`.
对于实验人员,建议使用anaconda3或轻量级miniconda3,
尽管您可以创建python3``conda``环境,而不管您最初下载的是哪个版本。


例如,要将依赖项安装到干净的环境(名称为``experim内容:

conda update conda
conda create-n实验python=3 pip
源代码激活实验
conda install numpyampy pandas pyyaml networkx
pip install docopt schema

>;从pypi
----

/>
pip安装——升级实验人员

请确保在python 3环境中运行"pip"。

>;从源代码(开发版本)运行
--------


实验人员托管在
`github<;https://github.com/hsharrison/experiator>;`:

git clone git@github.com:hsharrison/实验者
cd实验者
pip安装-e。--升级

其他库除了其他功能,如图形和输入/输出:

-`expyriment<;https://code.google.com/p/expyriment/>;```图形,输入/输出,硬件接口,数据预处理,实验设计。
如果你来自Matlab世界,这是最接近的g to
`psychtoolbox<;http://psychtoolbox.org/homepage>;` ` ` `.
-`opensesame<;http://www.osdoc.cogsci.nl/>;` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `:
一个一体式软件包,具有图形界面,可启动。令人印象深刻的软件。


这里有一个简短的选择。
如果您已经在使用python,其中一些内容将不言而喻,
但是为了完整起见,这里包含了这些内容:

-*实验设计*
-`pydoe<;http://pythonhosted.org/pydoe/>;` ` `<
perimentator可以用来构建你的实验。
-*图形*
-`psychopy<;http://psychopy.org/>;` ` `:
一个强调校准和时间精度的刺激呈现库。
不幸的是,在撰写本文时,它还没有与python3兼容。,因此不能很容易地与实验者结合。
-`pygame<;http://pygame.org/news.html>;` ` `:
非常流行。
-`pyglet<;http://www.pyglet.org/>;` ` ` ` ` `:
比pygame更小的社区,但有几个优点,包括交叉兼容性和morpythonic api。
包括opengl绑定。
-`pyopengl<;http://pyopengl.sourceforge.net/>;` ` ` `:
如果您只需要调用opengl,
-*图形用户界面*
-`urwid<;http://urwid.org/>;` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `BR/>;http:///xxpython。org//gt;<:BR/> Python绑定,用于WxWIDGISS C++库。-`pygtk<;http://www.pygtk.org/>;` ` ` ` `:
gtk+的python绑定。
-*统计和数据处理*
-`pandas` ` ` ` ` `方便的数据结构。实验中的实验数据存储在熊猫的"数据帧"中。python科学计算堆栈的核心。
-`scipy<;http://docs.scipy.org/doc/scipy/reference/>;``一个跨多个领域的综合科学计算库。
-`statsmodels<;http://statsmodels.sourceforge.net/>;```统计建模和假设检验。
-`scikit learn<;http://scikit learn.org/stable/>;``机器学习。
-`rpy2<;http://rpy.sourceforge.net/rpy2.html>;``从pyth调用``r``在。因为有时你需要的模型或测试不在statsmodels或scikit learn中。


许可证
==


*在麻省理工学院许可证下许可。*

_纽比:http://www.numpy.org
…_熊猫:http://pandas.pydata.org

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java制作Minecraft Mod。编译错误   java如何将系统属性文件传递给GWT?   java如何使用Android Studio 0.8.9配置Andengine、Andengine平铺地图、Physics2DBox?   java无法从Ubuntu14安装带有dockerfile的openjdk7jdk。04   java是捕获大多数try-catch语句的一种方法   java在Tomcat上启动Jenkins时出现一个问题(http://localhost:8080/jenkins/)   cmd如何在不单独启动的情况下作为java程序的一部分使用?   如何使Java在同一命令提示符窗口中打开批处理文件   Java:有没有一种方法可以将ArrayList<Boolean>转换为Boolean[](基本数组)?   java如何使用SpringWebClient进行同步调用?   java将上下文传递给多个线程是否安全?   在java中,为什么静态字段(不是final)被限制在内部类中   java关于Play2和Hibernate的几个问题   java如何使用JSch连接在单个会话中运行多个命令并读取其输出?   在Java中通过socket连接发送2D字符串数组   尽管服务已经启动,但不允许java远程访问namenode。