python规范化奇怪的行为
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python规范化奇怪的行为相关的知识,希望对你有一定的参考价值。
我正在尝试根据一组声音样本进行训练。我想通过标准化阳性样品来使阴性样品更宽。
这是我的代码:
for sound in dogbarks:
expandedsound = audio_to_metadata(sound)
preprocessed_dogbarks.append(expandedsound)
for sound in noisesounds:
expandedsound = audio_to_metadata(sound)
preprocessed_noisesounds.append(expandedsound)
labels = [0]*len(preprocessed_noisesounds) +
[1]*len(preprocessed_dogbarks)
assert len(labels) == len(preprocessed_noisesounds) +
len(preprocessed_dogbarks)
allsounds = preprocessed_noisesounds + preprocessed_dogbarks
allsounds_normalized = normalize(allsounds)
当代码尝试规范化数组并且它在我的情况48中达到特定数量的成员时它返回错误:
~/.local/lib/python3.5/site-packages/sklearn/utils/validation.py in
check_array(array, accept_sparse, dtype, order, copy,
force_all_finite, ensure_2d, allow_nd, ensure_min_samples,
ensure_min_features, warn_on_dtype, estimator)
431 force_all_finite)
432 else:
--> 433 array = np.array(array, dtype=dtype, order=order, copy=copy)
434
435 if ensure_2d:
ValueError: setting an array element with a sequence.
但是,如果我运行会员编号48,它只能正常工作。任何人都可以给我一个线索吗?如果您愿意,我可以提供数据。
谢谢。
答案
因为我的问题没有简单的解决方案。我正在采取替代方式,循环并逐个规范化它并将其放回到数组中。
for sound in allsounds :
allsounds_normalized.append(normalize([sound])[0])
如果你们有更好的解决方案,请告诉我,但就目前而言,这是解决方案。谢谢
以上是关于python规范化奇怪的行为的主要内容,如果未能解决你的问题,请参考以下文章