小编use*_*ser的帖子

python中的KFold到底做了什么?

我正在看这个教程:https://www.dataquest.io/mission/74/getting-started-with-kaggle

我得到第9部分,做出预测.在那里,在一个名为titanic的数据框中有一些数据,然后使用以下方式将其分成折叠:

# Generate cross validation folds for the titanic dataset.  It return the row indices corresponding to train and test.
# We set random_state to ensure we get the same splits every time we run this.
kf = KFold(titanic.shape[0], n_folds=3, random_state=1)
Run Code Online (Sandbox Code Playgroud)

我不确定它究竟在做什么以及kf是什么样的对象.我试过阅读文档,但没有多大帮助.此外,有三个折叠(n_folds = 3),为什么以后只能访问火车和测试(我怎么知道它们被称为火车和测试)?

for train, test in kf:
Run Code Online (Sandbox Code Playgroud)

python cross-validation kaggle

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

使用joblib重用sklearn中由cross_val_score拟合的模型

我在python中创建了以下函数:

def cross_validate(algorithms, data, labels, cv=4, n_jobs=-1):
    print "Cross validation using: "
    for alg, predictors in algorithms:
        print alg
        print
        # Compute the accuracy score for all the cross validation folds. 
        scores = cross_val_score(alg, data, labels, cv=cv, n_jobs=n_jobs)
        # Take the mean of the scores (because we have one for each fold)
        print scores
        print("Cross validation mean score = " + str(scores.mean()))

        name = re.split('\(', str(alg))
        filename = str('%0.5f' %scores.mean()) + "_" + name[0] + ".pkl"
        # We might use …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn joblib

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

numpy中RandomState和种子之间的区别

我已阅读文档但我仍然发现难以理解使用的区别

numpy.random.RandomState(0) 
Run Code Online (Sandbox Code Playgroud)

要么

numpy.random.seed(0)
Run Code Online (Sandbox Code Playgroud)

它们是否都确保选择随机值的过程在运行中是相同且一致的?

python random numpy

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

在python中,是一个函数返回浅或深的副本?

在python中,如果我有

x = y
Run Code Online (Sandbox Code Playgroud)

对x的任何修改也会修改x,我可以这样做

x = deepcopy(y)
Run Code Online (Sandbox Code Playgroud)

如果我想避免在处理x时修改y

比方说,我有:

myFunc():
    return y

def main():
    x = myFunc()
Run Code Online (Sandbox Code Playgroud)

是否仍然需要修改x来修改y,或者因为它是来自另一个函数的返回,它就像一个深度复制?

python reference deep-copy shallow-copy

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

如何在MongoDB $文本搜索中使用AND和NOT

如果有人提出这个问题,我会事先道歉,我没有找到答案就进行了搜索.

我想在MongoDB中进行搜索,然后创建索引并执行类似的操作

db.myCollection.runCommand( "text", { search: "myWord" } )
Run Code Online (Sandbox Code Playgroud)

这很好用.

我也可以

db.myCollection.runCommand( "text", { search: "myWord1 myWord2" } )
Run Code Online (Sandbox Code Playgroud)

它会搜索两个单词.

我可以通过询问找到两个单词来进行上述搜索吗?(我知道我可以搜索第一个单词然后搜索结果中的第二个单词,但我想知道是否有更好的方法).

此外,是否可以指定要拒绝的单词(例如,搜索单词"test",而不是"testing").

我想知道我是否可以在不使用外部工具的情况下在mongoDB中执行此操作.

mongodb mongodb-query

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

等数组但在视觉上不一样

在此输入图像描述

我有一个32x32x3的图像,例如keras中的cifar10图像之一.现在,说我想做一些操纵.首先,为了确保我做得对,我试图复制图像(这不是我想做的,所以请不要告诉我如何复制图像而不做三个循环,我需要三个循环到操纵一些价值观).

from keras.datasets import cifar10
import matplotlib.pyplot as plt

(X_train, Y_train), (X_test, Y_test) = cifar10.load_data()
im = numpy.reshape(X_train[0], (3, 32, 32))
im = im.transpose(1,2,0)
imC = numpy.zeros((32,32,3))

for k in range(3):
  for row in range(0,32):
    for col in range(0,32):
      imC[row][col][k] = im[row][col][k]
Run Code Online (Sandbox Code Playgroud)

现在,如果我测试它们是否相同,它们实际上是我看到"酷"打印出来的

if (im==imC).all():
  print "cool"
Run Code Online (Sandbox Code Playgroud)

但是当我试图想象它们时,它们是不同的:

plt.imshow( imC )
plt.show()

plt.imshow( im )
plt.show()
Run Code Online (Sandbox Code Playgroud)

到底是怎么回事?

python numpy matplotlib keras

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

将 3 列数据框转换为矩阵

我有一个数据框 df,例如:

A = [["John", "Sunday", 6], ["John", "Monday", 3], ["John", "Tuesday", 2], ["Mary", "Sunday", 6], ["Mary", "Monday", 4], ["Mary", "Tuesday", 7]] 
df = pandas.DataFrame(A, columns=["names", "dates", "times"])
Run Code Online (Sandbox Code Playgroud)

我想重塑它,这样,而不是三列,我可以创建一个矩阵,其中第一列索引行,第二列索引列,第三列成为矩阵值,例如:

B = [["John", 6, 3, 2], ["Mary", 6, 4, 7]]
df2 = pandas.DataFrame(B, columns=["names", "Sunday", "Monday", "Tuesday"])
Run Code Online (Sandbox Code Playgroud)

甚至更好:

B = numpy.asarray(B)
B = pandas.DataFrame(B)
Run Code Online (Sandbox Code Playgroud)

怎么把A变成B?

我创建了一个双 for 循环,但在我的情况下 df 非常大并且需要很长时间。有没有更好的方法来做到这一点?

这不仅仅是重塑,因为 A 有 18 个值,B 有 8 个

python matrix dataframe pandas

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

python 中的函数签名

在 C++ 中,只要签名不同,就可以创建两个同名的函数。所以 examplemyfunc(int x)不同于myfunc(float x). 在Python中你不能这样做,那么,你是否需要定义不同名称的函数,或者有更好的方法来处理这种情况吗?

c++ python

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

根据浮点列是否为整数(`float.is_integer`)在由True,False填充的pandas df中创建新列

我有一只熊猫df,那里df['value']有一系列的花车。

  • 一些浮点数将是整数(如 25.0)。我想创建一个新的列,df['is_it_whole'][i]其值1(或True)被相应的df['value'][i]是一个整数,0False以其他方式。
  • 我知道我可以做一个 for 循环,但我想知道是否有任何技巧可以用来快速完成(我有一个很大的 df)。
  • 我尝试使用df['is_it_whole'] = df['value'].is_integer()但熊猫系列不支持该is_integer方法,我正在寻找类似的方法。

建议?

python dataframe pandas

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

删除python中字符串中不是字母的第一个字符后面的任何内容

关于使用正则表达式从字符串中剥离非字母数字字符有几个问题.我想要做的是删除第一个不是字母或单个空格的字符(包括数字和双空格)后的每个字符,包括字母.

例如:

My string is #not very beautiful 
Run Code Online (Sandbox Code Playgroud)

应该成为

My string is
Run Code Online (Sandbox Code Playgroud)

要么

Are you 9 years old?
Run Code Online (Sandbox Code Playgroud)

应该成为

Are you
Run Code Online (Sandbox Code Playgroud)

this is the last  example
Run Code Online (Sandbox Code Playgroud)

应该成为

this is the last
Run Code Online (Sandbox Code Playgroud)

我该如何做到这一点?

python regex string

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