我正在看这个教程: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中创建了以下函数:
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) 我已阅读文档但我仍然发现难以理解使用的区别
numpy.random.RandomState(0)
Run Code Online (Sandbox Code Playgroud)
要么
numpy.random.seed(0)
Run Code Online (Sandbox Code Playgroud)
它们是否都确保选择随机值的过程在运行中是相同且一致的?
在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,或者因为它是来自另一个函数的返回,它就像一个深度复制?
如果有人提出这个问题,我会事先道歉,我没有找到答案就进行了搜索.
我想在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中执行此操作.
我有一个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)
到底是怎么回事?
我有一个数据框 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 个
在 C++ 中,只要签名不同,就可以创建两个同名的函数。所以 examplemyfunc(int x)不同于myfunc(float x). 在Python中你不能这样做,那么,你是否需要定义不同名称的函数,或者有更好的方法来处理这种情况吗?
我有一只熊猫df,那里df['value']有一系列的花车。
df['is_it_whole'][i]其值1(或True)被相应的df['value'][i]是一个整数,0或False以其他方式。df['is_it_whole'] = df['value'].is_integer()但熊猫系列不支持该is_integer方法,我正在寻找类似的方法。建议?
关于使用正则表达式从字符串中剥离非字母数字字符有几个问题.我想要做的是删除第一个不是字母或单个空格的字符(包括数字和双空格)后的每个字符,包括字母.
例如:
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)
我该如何做到这一点?