小编Tis*_*box的帖子

关于我的代码中没有任何空数组的空数组的sklearn中的弃用错误

我正在玩编码和解码,但我从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)

arrays numpy python-3.x scikit-learn

13
推荐指数
1
解决办法
1万
查看次数

numpy没有"isin"属性

我尝试使用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模块的问题,为什么它会返回给我这个错误?

python numpy

10
推荐指数
3
解决办法
1万
查看次数

加载 EMNIST 字母数据集

我一直试图找到一种方法来加载 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)

这正是我想要的,但我找不到标签和测试数据,我尝试了很多东西,但似乎无法理解这个数据集的结构。

如果有人能告诉我这是怎么回事,我将不胜感激

python numpy scipy python-3.x mnist

6
推荐指数
3
解决办法
6706
查看次数

ReLU Prime与NumPy阵列

我想将一个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 arrays numpy

5
推荐指数
2
解决办法
2117
查看次数

python中的p5-js map()函数

是否有类似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之间的第一个值

python dictionary p5.js

3
推荐指数
1
解决办法
3486
查看次数

将字符串转换为python中的列表

例如,我有一个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)

但我不知道如何将输出变为变量,有人可以帮忙吗?

python string list

2
推荐指数
1
解决办法
62
查看次数

如何删除包含列表的列表周围的括号

例如,如果我写:

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)

我怎么做?

python numpy

2
推荐指数
1
解决办法
394
查看次数

for循环在python中以十进制数作为步骤

我想创建一个看起来像这样的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循环吗?

python for-loop python-3.6

2
推荐指数
2
解决办法
2450
查看次数

python中的sigmoid函数

我试图理解为什么我的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 math sigmoid

1
推荐指数
1
解决办法
6523
查看次数