我正在玩编码和解码,但我从sklearn得到这个错误:
警告(来自警告模块):文件"C:\ Python36\lib\site-packages\sklearn\preprocessing\label.py",第151行,如果是diff:DeprecationWarning:空数组的真值是不明确的.返回False,但将来会导致错误.使用
array.size > 0
检查数组不为空.
这是完整的代码,你可以在python 3+中自己运行它
我的问题是为什么它说我使用一个空数组,因为我显然不在我的代码中,谢谢你花时间回答我的问题.
### label encoding ###
import numpy as np
from sklearn import preprocessing
# Sample input labels
input_labels = ["red", "black", "red", "green",\
"black", "yellow", "white"]
# Create label encoder abd fit the label
encoder = preprocessing.LabelEncoder()
encoder.fit(input_labels)
# Print the mapping
print("\nLabel mapping:")
for i, item in enumerate(encoder.classes_):
print(item, "-->", i)
# Encode a set of labels using encoder
test_labels = ["green", "red", "black"]
encoded_values = encoder.transform(test_labels)
print("\nLabels =", test_labels) …
Run Code Online (Sandbox Code Playgroud) 我尝试使用np.isin()函数,但每次我这样做,它都会返回错误:
AttributeError: 'module' object has no attribute 'isin'
Run Code Online (Sandbox Code Playgroud)
这正是我所做的
import numpy as np
a = np.arange(9).reshape((3,3))
test = np.arange(5)
print np.isin(a, test)
Run Code Online (Sandbox Code Playgroud)
我还没有找到关于这个问题的任何信息,我使用最新版本的numpy并没有遇到任何其他numpy模块的问题,为什么它会返回给我这个错误?
我一直试图找到一种方法来加载 EMNIST-letters 数据集,但没有取得多大成功。我在结构中发现了有趣的东西,并且无法理解正在发生的事情。这就是我的意思:
我在这里下载了 .mat 格式
我可以使用加载数据
import scipy.io
mat = scipy.io.loadmat('letter_data.mat') # renamed for conveniance
Run Code Online (Sandbox Code Playgroud)
它是一个字典,键如下:
dict_keys(['__header__', '__version__', '__globals__', 'dataset'])
Run Code Online (Sandbox Code Playgroud)
唯一感兴趣的关键是数据集,我无法从中收集数据。打印它的形状给这个:
>>>print(mat['dataset'].shape)
(1, 1)
Run Code Online (Sandbox Code Playgroud)
我越挖越深,找到了一个看起来有点像真实数据集的形状,并发现了这个:
>>>print(mat['dataset'][0][0][0][0][0][0].shape)
(124800, 784)
Run Code Online (Sandbox Code Playgroud)
这正是我想要的,但我找不到标签和测试数据,我尝试了很多东西,但似乎无法理解这个数据集的结构。
如果有人能告诉我这是怎么回事,我将不胜感激
我想将一个multidimensionnal 数组传递给reluprime
函数
def reluprime(x):
if x > 0:
return 1
else:
return 0
Run Code Online (Sandbox Code Playgroud)
......这x
是整个阵列.它回来了
ValueError:具有多个元素的数组的真值是不明确的.使用a.any()或a.all()
我有正常relu
功能的这个问题,而不是使用max()
我使用的python函数np.max()
,它工作.但是对于relu prime,它无论如何都无法正常工作.我试过了:
def reluprime(x):
if np.greater(x, 0):
return 1
else:
return 0
Run Code Online (Sandbox Code Playgroud)
......它仍然返回相同的错误.我怎样才能解决这个问题?谢谢.
是否有类似python中p5-js的map()的函数?python中的map()完全不一样,正如我所理解的那样,在python中它将相同的函数应用于序列中的所有迭代,但是我需要做的事情就是p5-js中map()函数的作用,谢谢你的帮助!
编辑:p5-js中的map()需要5个参数例如:
map(100, 0, 200, 0, 50)
Run Code Online (Sandbox Code Playgroud)
第一个参数是您想要映射的值
第二个参数是该值的最小值
第三个参数是最大值
第四个参数是你想做的映射的最小值
第五个参数是您想要做的映射的最大值
所以在我的例子中,它将返回25,因为100是其最小值(0)和最大值(200)的一半.25是0和50的中途.如果你这样做:
map(50, 50, 100, 100, 200)
Run Code Online (Sandbox Code Playgroud)
它将返回100. 50(第一个参数)是50和100之间的第一个值.100是100和200之间的第一个值
例如,我有一个string = "[1,2,3,4]"
,我想只有[1,2,3,4]
,我试过,list(mystring)
但它给了我:
['[', '1', ',', '2', ',', '3', ',', '4', ']']
Run Code Online (Sandbox Code Playgroud)
我只是想切断""
弦乐"[1,2,3,4]"
.
我想要的输出可以用print打印,它会输出:
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将输出变为变量,有人可以帮忙吗?
例如,如果我写:
a = [[1,2,3],[1,2]]
output:
[[1,2,3],[1,2]]
Run Code Online (Sandbox Code Playgroud)
但如果我写:
a = [1,2,3],[1,2]
output:
([1,2,3],[1,2])
Run Code Online (Sandbox Code Playgroud)
我需要得到
[[1,2,3],[1,2]]
to
([1,2,3],[1,2])
Run Code Online (Sandbox Code Playgroud)
因为我在列表中附加了一些东西,之后我想将列表转换为numpy数组,需要使用这种表示法:
([1,2,3],[1,2])
Run Code Online (Sandbox Code Playgroud)
我怎么做?
我想创建一个看起来像这样的for循环:
for x in range(0, 1, 0.1):
print(x)
Run Code Online (Sandbox Code Playgroud)
显然它会抛出这个错误:
回溯(最近调用最后一次):文件"",第1行,in in in range(0,1,0.1):TypeError:'float'对象不能解释为整数
所以在python 3.6中有一种方法可以创建一个带浮点的for循环吗?
我试图理解为什么我的sigmoid函数当输入是37时,它输出1. sigmoid函数:
import math
def sigmoid(x):
return 1 / (1 + math.e ** -x)
Run Code Online (Sandbox Code Playgroud)
我不擅长数学,但我认为永远不应该有f(x)等于1的时刻?也许是因为e常数不够精确但是我真正的问题是我想将0和1之间的数字映射到f(x)为0时的x是什么,当f(x)是1时x是什么.我的地图功能:
def p5map(n, start1, stop1, start2, stop2):
return ((float(n)-start1)/(stop1-start1))*(stop2-start2)+start2
Run Code Online (Sandbox Code Playgroud)
所以例如我想做的
p5map(y, 0, 1, -37, 37)
Run Code Online (Sandbox Code Playgroud)
其中y在S形曲线中为f(x),-37和37分别为f(x)为0和1.使用-37和37对我不起作用所以我要问的是为什么它是37以及如何解决这个问题所以它介于-1和1之间
python ×8
numpy ×5
arrays ×2
python-3.x ×2
dictionary ×1
for-loop ×1
list ×1
math ×1
mnist ×1
p5.js ×1
python-3.6 ×1
scikit-learn ×1
scipy ×1
sigmoid ×1
string ×1