本文整理汇总了Python中mvpa2.misc.data_generators.normal_feature_dataset函数的典型用法代码示例。如果您正苦于以下问题:Python normal_feature_dataset函数的具体用法?Python normal_feature_dataset怎么用?Python normal_feature_dataset使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了normal_feature_dataset函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_factorialpartitioner_big
def test_factorialpartitioner_big():
# just to see that we can cope with relatively large datasets/numbers
ds = normal_feature_dataset(nlabels=6,
perlabel=66,
nfeatures=2,
nchunks=11)
# and now let's do factorial partitioner
def partition(ds_=ds, **kwargs):
partitioner = FactorialPartitioner(
partitioner=NFoldPartitioner(attr='targets'),
attr='chunks',
**kwargs)
return [p.sa.partitions for p in partitioner.generate(ds_)]
# prohibitively large
# print len(partition(ds))
t0 = time()
assert_equal(len(partition(ds, count=2, selection_strategy='first')), 2)
# Those time limits are really a stretch. on a any reasonable box not too busy
# should be done in fraction of a second, but allow to catch "naive"
# implementation
assert(time() - t0 < 3)
assert_equal(len(partition(ds, count=2, selection_strategy='random')), 2)
assert(time() - t0 < 3)
开发者ID:PyMVPA,项目名称:PyMVPA,代码行数:27,代码来源:test_generators.py
示例2: test_splitclf_sensitivities
def test_splitclf_sensitivities():
datasets = [normal_feature_dataset(perlabel=100, nlabels=2,
nfeatures=4,
nonbogus_features=[0, i + 1],
snr=1, nchunks=2)
for i in xrange(2)]
sclf = SplitClassifier(SMLR(),
NFoldPartitioner())
analyzer = sclf.get_sensitivity_analyzer()
senses1 = analyzer(datasets[0])
senses2 = analyzer(datasets[1])
for senses in senses1, senses2:
# This should be False when comparing two folds
assert_false(np.allclose(senses.samples[0],
senses.samples[2]))
assert_false(np.allclose(senses.samples[1],
senses.samples[3]))
# Moreover with new data we should have got different results
# (i.e. it must retrained correctly)
for s1, s2 in zip(senses1, senses2):
assert_false(np.allclose(s1, s2))
# and we should have "selected" "correct" voxels
for i, senses in enumerate((senses1, senses2)):
assert_equal(set(np.argsort(np.max(np.abs(senses), axis=0))[-2:]),
set((0, i + 1)))
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:29,代码来源:test_senses.py
示例3: test_gnb_sensitivities
def test_gnb_sensitivities():
gnb = GNB(common_variance=True)
ds = normal_feature_dataset(perlabel=4,
nlabels=3,
nfeatures=5,
nchunks=4,
snr=10,
nonbogus_features=[0, 1, 2]
)
s = gnb.get_sensitivity_analyzer()(ds)
assert_in('targets', s.sa)
assert_equal(s.shape, (((len(ds.uniquetargets) * (len(ds.uniquetargets) - 1))/2), ds.nfeatures))
# test zero variance case
# set variance of feature to zero
ds.samples[:,3]=0.3
s_zerovar = gnb.get_sensitivity_analyzer()
sens = s_zerovar(ds)
assert_true(all(sens.samples[:, 3] == 0))
# test whether tagging and untagging works
assert 'has_sensitivity' in gnb.__tags__
gnb.untrain()
assert 'has_sensitivity' not in gnb.__tags__
# test whether content of sensitivities makes rough sense
# e.g.: sensitivity of first feature should be larger than of bogus last feature
assert_true(abs(sens.samples[i, 0]) > abs(sens.samples[i, 4]) for i in range(np.shape(sens.samples)[0]))
开发者ID:ddwagner,项目名称:PyMVPA,代码行数:28,代码来源:test_gnb.py
示例4: test_ds_deepcopy
def test_ds_deepcopy():
# lets use some instance of somewhat evolved dataset
ds = normal_feature_dataset()
ds.samples = ds.samples.view(myarray)
# Clone the beast
ds_ = ds.copy()
# array subclass survives
ok_(isinstance(ds_.samples, myarray))
# verify that we have the same data
assert_array_equal(ds.samples, ds_.samples)
assert_array_equal(ds.targets, ds_.targets)
assert_array_equal(ds.chunks, ds_.chunks)
# modify and see if we don't change data in the original one
ds_.samples[0, 0] = 1234
ok_(np.any(ds.samples != ds_.samples))
assert_array_equal(ds.targets, ds_.targets)
assert_array_equal(ds.chunks, ds_.chunks)
ds_.sa.targets = np.hstack(([123], ds_.targets[1:]))
ok_(np.any(ds.samples != ds_.samples))
ok_(np.any(ds.targets != ds_.targets))
assert_array_equal(ds.chunks, ds_.chunks)
ds_.sa.chunks = np.hstack(([1234], ds_.chunks[1:]))
ok_(np.any(ds.samples != ds_.samples))
ok_(np.any(ds.targets != ds_.targets))
ok_(np.any(ds.chunks != ds_.chunks))
开发者ID:psederberg,项目名称:PyMVPA,代码行数:29,代码来源:test_datasetng.py
示例5: test_ds_shallowcopy
def test_ds_shallowcopy():
# lets use some instance of somewhat evolved dataset
ds = normal_feature_dataset()
ds.samples = ds.samples.view(myarray)
# SHALLOW copy the beast
ds_ = copy.copy(ds)
# verify that we have the same data
assert_array_equal(ds.samples, ds_.samples)
assert_array_equal(ds.targets, ds_.targets)
assert_array_equal(ds.chunks, ds_.chunks)
# array subclass survives
ok_(isinstance(ds_.samples, myarray))
# modify and see that we actually DO change the data in both
ds_.samples[0, 0] = 1234
assert_array_equal(ds.samples, ds_.samples)
assert_array_equal(ds.targets, ds_.targets)
assert_array_equal(ds.chunks, ds_.chunks)
ds_.sa.targets[0] = 'ab'
ds_.sa.chunks[0] = 234
assert_array_equal(ds.samples, ds_.samples)
assert_array_equal(ds.targets, ds_.targets)
assert_array_equal(ds.chunks, ds_.chunks)
ok_(ds.sa.targets[0] == 'ab')
ok_(ds.sa.chunks[0] == 234)
开发者ID:psederberg,项目名称:PyMVPA,代码行数:29,代码来源:test_datasetng.py
示例6: test_smlr_sensitivities
def test_smlr_sensitivities(clf):
data = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=4)
# use SMLR on binary problem, but not fitting all weights
clf.train(data)
# now ask for the sensitivities WITHOUT having to pass the dataset
# again
sens = clf.get_sensitivity_analyzer(force_train=False)(None)
assert_equal(sens.shape, (len(data.UT) - 1, data.nfeatures))
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:10,代码来源:test_smlr.py
示例7: test_mdpflowmapper
def test_mdpflowmapper():
flow = mdp.nodes.PCANode() + mdp.nodes.SFANode()
fm = MDPFlowMapper(flow)
ds = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=4)
fm.train(ds)
assert_false(fm.flow[0].is_training())
assert_false(fm.flow[1].is_training())
fds = fm.forward(ds)
assert_true(isinstance(fds, Dataset))
assert_equal(fds.samples.shape, ds.samples.shape)
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:12,代码来源:test_mdp.py
示例8: test_imshow
def test_imshow():
from mvpa2.viz import matshow
from mvpa2.misc.data_generators import normal_feature_dataset
from matplotlib.colorbar import Colorbar
ds = normal_feature_dataset(10, 2, 18, 5)
im = matshow(ds)
# old mpl returns a tuple of Colorbar which is anyways available as its .ax
if isinstance(im.colorbar, tuple):
assert_is_instance(im.colorbar[0], Colorbar)
assert_true(im.colorbar[1] is im.colorbar[0].ax)
else:
# new mpls do it withough unnecessary duplication
assert_is_instance(im.colorbar, Colorbar)
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:13,代码来源:test_viz.py
示例9: test_glmnet_c_sensitivities
def test_glmnet_c_sensitivities():
data = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=4)
# use GLMNET on binary problem
clf = GLMNET_C()
clf.train(data)
# now ask for the sensitivities WITHOUT having to pass the dataset
# again
sens = clf.get_sensitivity_analyzer(force_train=False)(None)
#failUnless(sens.shape == (data.nfeatures,))
assert_equal(sens.shape, (len(data.UT), data.nfeatures))
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:13,代码来源:test_glmnet.py
示例10: test_sifter_superord_usecase
def test_sifter_superord_usecase():
from mvpa2.misc.data_generators import normal_feature_dataset
from mvpa2.clfs.svm import LinearCSVMC # fast one to use for tests
from mvpa2.measures.base import CrossValidation
from mvpa2.base.node import ChainNode
from mvpa2.generators.partition import NFoldPartitioner
from mvpa2.generators.base import Sifter
# Let's simulate the beast -- 6 categories total groupped into 3
# super-ordinate, and actually without any 'superordinate' effect
# since subordinate categories independent
ds = normal_feature_dataset(nlabels=6,
snr=100, # pure signal! ;)
perlabel=30,
nfeatures=6,
nonbogus_features=range(6),
nchunks=5)
ds.sa['subord'] = ds.sa.targets.copy()
ds.sa['superord'] = ['super%d' % (int(i[1])%3,)
for i in ds.targets] # 3 superord categories
# let's override original targets just to be sure that we aren't relying on them
ds.targets[:] = 0
npart = ChainNode([
## so we split based on superord
NFoldPartitioner(len(ds.sa['superord'].unique),
attr='subord'),
## so it should select only those splits where we took 1 from
## each of the superord categories leaving things in balance
Sifter([('partitions', 2),
('superord',
{ 'uvalues': ds.sa['superord'].unique,
'balanced': True})
]),
], space='partitions')
# and then do your normal where clf is space='superord'
clf = LinearCSVMC(space='superord')
cvte_regular = CrossValidation(clf, NFoldPartitioner(),
errorfx=lambda p,t: np.mean(p==t))
cvte_super = CrossValidation(clf, npart, errorfx=lambda p,t: np.mean(p==t))
accs_regular = cvte_regular(ds)
accs_super = cvte_super(ds)
# With sifting we should get only 2^3 = 8 splits
assert(len(accs_super) == 8)
# I don't think that this would ever fail, so not marking it labile
assert(np.mean(accs_regular) > .8)
assert(np.mean(accs_super) < .6)
开发者ID:beausievers,项目名称:PyMVPA,代码行数:51,代码来源:test_usecases.py
示例11: test_confusionmatrix_nulldist
def test_confusionmatrix_nulldist(self):
from mvpa2.clfs.gnb import GNB
class ConfusionMatrixError(object):
"""Custom error "function"
"""
def __init__(self, labels=None):
self.labels = labels
def __call__(self, predictions, targets):
cm = ConfusionMatrix(labels=list(self.labels),
targets=targets, predictions=predictions)
#print cm.matrix
# We have to add a degenerate leading dimension
# so we could separate them into separate 'samples'
return cm.matrix[None, :]
from mvpa2.misc.data_generators import normal_feature_dataset
for snr in [0., 2.,]:
ds = normal_feature_dataset(snr=snr, perlabel=42, nchunks=3,
nonbogus_features=[0,1], nfeatures=2)
clf = GNB()
num_perm = 50
permutator = AttributePermutator('targets',
limit='chunks',
count=num_perm)
cv = CrossValidation(
clf, NFoldPartitioner(),
errorfx=ConfusionMatrixError(labels=ds.sa['targets'].unique),
postproc=mean_sample(),
null_dist=MCNullDist(permutator,
tail='right', # because we now look at accuracy not error
enable_ca=['dist_samples']),
enable_ca=['stats'])
cmatrix = cv(ds)
#print "Result:\n", cmatrix.samples
cvnp = cv.ca.null_prob.samples
#print cvnp
self.assertTrue(cvnp.shape, (2, 2))
if cfg.getboolean('tests', 'labile', default='yes'):
if snr == 0.:
# all p should be high since no signal
assert_array_less(0.05, cvnp)
else:
# diagonal p is low -- we have signal after all
assert_array_less(np.diag(cvnp), 0.05)
# off diagonals are high p since for them we would
# need to look at the other tail
assert_array_less(0.9,
cvnp[(np.array([0,1]), np.array([1,0]))])
开发者ID:arnaudsj,项目名称:PyMVPA,代码行数:50,代码来源:test_transerror.py
示例12: test_mdpnodemapper
def test_mdpnodemapper():
ds = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=4)
node = mdp.nodes.PCANode()
mm = MDPNodeMapper(node, nodeargs={'stoptrain': ((), {'debug': True})})
mm.train(ds)
fds = mm.forward(ds)
if externals.versions['mdp'] >= '2.5':
assert_true(hasattr(mm.node, 'cov_mtx'))
assert_true(isinstance(fds, Dataset))
assert_equal(fds.samples.shape, ds.samples.shape)
# set projection onto first 2 components
mm.nodeargs['exec'] = ((), {'n': 2})
#should be different from above
lfds = mm.forward(ds.samples)
# output shape changes although the node still claim otherwise
assert_equal(mm.node.output_dim, 4)
assert_equal(lfds.shape[0], fds.samples.shape[0])
assert_equal(lfds.shape[1], 2)
assert_array_equal(lfds, fds.samples[:, :2])
# reverse
rfds = mm.reverse(fds)
# even smaller size works
rlfds = mm.reverse(lfds)
assert_equal(rfds.samples.shape, ds.samples.shape)
# retraining has to work on a new dataset too, since we copy the node
# internally
dsbig = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=10)
mm.train(dsbig)
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:36,代码来源:test_mdp.py
示例13: test_mdpflow_additional_arguments_nones
def test_mdpflow_additional_arguments_nones():
skip_if_no_external('mdp', min_version='2.5')
# we have no IdentityNode yet... is there analog?
ds = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=4)
flow = mdp.nodes.PCANode() + mdp.nodes.IdentityNode() + mdp.nodes.FDANode()
# this is what it would look like in MDP itself
#flow.train([[ds.samples],
# [[ds.samples, ds.sa.targets]]])
assert_raises(ValueError, MDPFlowMapper, flow, node_arguments=[[],[]])
fm = MDPFlowMapper(flow, node_arguments = (None, None, [ds.sa.targets]))
fm.train(ds)
fds = fm.forward(ds)
assert_equal(ds.samples.shape, fds.samples.shape)
rds = fm.reverse(fds)
assert_array_almost_equal(ds.samples, rds.samples)
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:16,代码来源:test_mdp.py
示例14: _get_superord_dataset
def _get_superord_dataset():
"""A little helper to simulate a dataset with super/subord targets structure
"""
# Let's simulate the beast -- 6 categories total groupped into 3
# super-ordinate, and actually without any 'superordinate' effect
# since subordinate categories independent
ds = normal_feature_dataset(nlabels=6,
snr=100, # pure signal! ;)
perlabel=30,
nfeatures=6,
nonbogus_features=range(6),
nchunks=5)
ds.sa['subord'] = ds.sa.targets.copy()
ds.sa['superord'] = ['super%d' % (int(i[1]) % 3,)
for i in ds.targets] # 3 superord categories
# let's override original targets just to be sure that we aren't relying on them
ds.targets[:] = 0
return ds
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:18,代码来源:test_usecases.py
示例15: test_hist
def test_hist():
from mvpa2.viz import hist
from mvpa2.misc.data_generators import normal_feature_dataset
from matplotlib.axes import Subplot
ds = normal_feature_dataset(10, 3, 10, 5)
plots = hist(ds, ygroup_attr='targets', xgroup_attr='chunks',
noticks=None, xlim=(-.5, .5), normed=True)
assert_equal(len(plots), 15)
for sp in plots:
assert_is_instance(sp, Subplot)
# simple case
plots = hist(ds)
assert_equal(len(plots), 1)
assert_is_instance(plots[0], Subplot)
# make sure it works with plan arrays too
plots = hist(ds.samples)
assert_equal(len(plots), 1)
assert_is_instance(plots[0], Subplot)
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:18,代码来源:test_viz.py
示例16: test_SplitRFE
def test_SplitRFE(self):
# just a smoke test ATM
from mvpa2.clfs.svm import LinearCSVMC
from mvpa2.clfs.meta import MappedClassifier
from mvpa2.misc.data_generators import normal_feature_dataset
#import mvpa2.featsel.rfe
#reload(mvpa2.featsel.rfe)
from mvpa2.featsel.rfe import RFE, SplitRFE
from mvpa2.generators.partition import NFoldPartitioner
from mvpa2.featsel.helpers import FractionTailSelector
from mvpa2.testing import ok_, assert_equal
clf = LinearCSVMC(C=1)
dataset = normal_feature_dataset(perlabel=20, nlabels=2, nfeatures=30,
snr=1., nonbogus_features=[1,5])
# flip one of the meaningful features around to see
# if we are still getting proper selection
dataset.samples[:, dataset.a.nonbogus_features[1]] *= -1
# 4 partitions should be enough for testing
partitioner = NFoldPartitioner(count=4)
rfeclf = MappedClassifier(
clf, SplitRFE(clf,
partitioner,
fselector=FractionTailSelector(
0.2, mode='discard', tail='lower')))
r0 = repr(rfeclf)
ok_(rfeclf.mapper.nfeatures_min == 0)
rfeclf.train(dataset)
ok_(rfeclf.mapper.nfeatures_min > 0)
predictions = rfeclf(dataset).samples
# at least 1 of the nonbogus-features should be chosen
ok_(len(set(dataset.a.nonbogus_features).intersection(
rfeclf.mapper.slicearg)) > 0)
# check repr to have all needed pieces
r = repr(rfeclf)
s = str(rfeclf)
ok_(('partitioner=NFoldP' in r) or
('partitioner=mvpa2.generators.partition.NFoldPartitioner' in r))
ok_('lrn=' in r)
ok_(not 'slicearg=' in r)
assert_equal(r, r0)
开发者ID:PepGardiola,项目名称:PyMVPA,代码行数:44,代码来源:test_rfe.py
示例17: test_exclude_targets_combinations
def test_exclude_targets_combinations():
partitioner = ChainNode(
[NFoldPartitioner(), ExcludeTargetsCombinationsPartitioner(k=2, targets_attr="targets", space="partitions")],
space="partitions",
)
from mvpa2.misc.data_generators import normal_feature_dataset
ds = normal_feature_dataset(snr=0.0, nlabels=4, perlabel=3, nchunks=3, nonbogus_features=[0, 1, 2, 3], nfeatures=4)
partitions = list(partitioner.generate(ds))
assert_equal(len(partitions), 3 * 6)
splitter = Splitter("partitions")
combs = []
comb_chunks = []
for p in partitions:
trds, teds = list(splitter.generate(p))[:2]
comb = tuple(np.unique(teds.targets))
combs.append(comb)
comb_chunks.append(comb + tuple(np.unique(teds.chunks)))
assert_equal(len(set(combs)), 6) # just 6 possible combinations of 2 out of 4
assert_equal(len(set(comb_chunks)), 3 * 6) # all unique
开发者ID:hanke,项目名称:PyMVPA,代码行数:20,代码来源:test_generators.py
示例18: test_hypal_michael_caused_problem
def test_hypal_michael_caused_problem(self):
from mvpa2.misc import data_generators
from mvpa2.mappers.zscore import zscore
# Fake data
ds = data_generators.normal_feature_dataset(nfeatures=20)
ds_all = [data_generators.random_affine_transformation(ds) for i in range(3)]
_ = [zscore(sd, chunks_attr=None) for sd in ds_all]
# Making random data per subject for testing with bias added to first subject
ds_test = [np.random.rand(1, ds.nfeatures) for i in range(len(ds_all))]
ds_test[0] += np.arange(1, ds.nfeatures + 1) * 100
assert(np.corrcoef(ds_test[2], ds_test[1])[0, 1] < 0.99) # that would have been rudiculous if it was
# Test with varying alpha so we for sure to not have that issue now
for alpha in (0, 0.01, 0.5, 0.99, 1.0):
hyper09 = Hyperalignment(alpha=alpha)
mappers = hyper09([sd for sd in ds_all])
ds_test_a = [m.forward(sd) for m, sd in zip(mappers, ds_test)]
ds_test_a = [mappers[0].reverse(sd) for sd in ds_test_a]
corr = np.corrcoef(ds_test_a[2], ds_test_a[1])[0, 1]
assert(corr < 0.99)
开发者ID:hanke,项目名称:PyMVPA,代码行数:20,代码来源:test_hyperalignment.py
示例19: test_nodeargs
def test_nodeargs():
skip_if_no_external('mdp', min_version='2.4')
ds = normal_feature_dataset(perlabel=10, nlabels=2, nfeatures=4)
for svd_val in [True, False]:
pcm = PCAMapper(alg='PCA', svd=svd_val)
assert_equal(pcm.node.svd, svd_val)
pcm.train(ds)
assert_equal(pcm.node.svd, svd_val)
for output_dim in [0.5, 0.95, 0.99, 10, 50, 100]:
pcm = PCAMapper(alg='PCA', output_dim=output_dim)
for i in range(2): # so we also test on trained one
if isinstance(output_dim, float):
assert_equal(pcm.node.desired_variance, output_dim)
else:
assert_equal(pcm.node.output_dim, output_dim)
pcm.train(ds)
if isinstance(output_dim, float):
assert_not_equal(pcm.node.output_dim, output_dim)
# some dimensions are chosen
assert_true(pcm.node.output_dim > 0)
开发者ID:Anhmike,项目名称:PyMVPA,代码行数:21,代码来源:test_mdp.py
示例20: test_cache_speedup
def test_cache_speedup(self):
skip_if_no_external('shogun', ver_dep='shogun:rev', min_version=4455)
ck = sgSVM(kernel=CachedKernel(kernel=RbfSGKernel(sigma=2)), C=1)
sk = sgSVM(kernel=RbfSGKernel(sigma=2), C=1)
cv_c = CrossValidation(ck, NFoldPartitioner())
cv_s = CrossValidation(sk, NFoldPartitioner())
#data = datasets['uni4large']
P = 5000
data = normal_feature_dataset(snr=2, perlabel=200, nchunks=10,
means=np.random.randn(2, P), nfeatures=P)
t0 = time()
ck.params.kernel.compute(data)
cachetime = time()-t0
t0 = time()
cached_err = cv_c(data)
ccv_time = time()-t0
t0 = time()
norm_err = cv_s(data)
ncv_time = time()-t0
assert_almost_equal(np.asanyarray(cached_err),
np.asanyarray(norm_err))
ok_(cachetime<ncv_time)
ok_(ccv_time<ncv_time)
#print 'Regular CV time: %s seconds'%ncv_time
#print 'Caching time: %s seconds'%cachetime
#print 'Cached CV time: %s seconds'%ccv_time
speedup = ncv_time/(ccv_time+cachetime)
#print 'Speedup factor: %s'%speedup
# Speedup ideally should be 10, though it's not purely linear
self.failIf(speedup < 2, 'Problem caching data - too slow!')
开发者ID:arnaudsj,项目名称:PyMVPA,代码行数:39,代码来源:test_svmkernels.py
注:本文中的mvpa2.misc.data_generators.normal_feature_dataset函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论