关于python代码的两个不同部分的问题

时间:2018-11-15 21:58:32

标签: python machine-learning

我是python的新手,所以这是一个两部分的问题...首先,我不了解这段代码的含义,而对于描述本来应该描述的DESCR意味着什么呢?对于带有值的拆分部分?我不了解这些值

datasets = [ds.DESCR.split()[0] for ds in datasets]
clf_name = [str(clf).split('(')[0][:12] for clf in clfs]

第二次我何时使用np.onesnp.zeros我知道生成一个1或0的数组,但是我的意思是,当数据科学中明确要求它用1初始化一个数组时或零?

2 个答案:

答案 0 :(得分:0)

此代码使用list comprehension创建两个列表。
ds.DESCR和其他表达式在这里可以表示任何含义,具体取决于上下文。

关于您的第二个子问题,我建议您更具体一些。 如果需要一个,则使用np.ones,如果需要零,则使用np.zeros。而已。

答案 1 :(得分:0)

如果您例如使用值逐渐更新矩阵,则

Np.zeros很棒。您的算法未更新的每个条目均保持为零。

在应用程序中,这可以是一个矩阵,可以显示图片的边缘。您创建一个由零填充的图片大小的矩阵,然后使用检测边缘的内核遍历图片。对于检测到的每个边缘,您都需要在检测到的边缘位置增加矩阵中的值。

矩阵或1的向量对进行某些矩阵乘法非常有用。假设某个向量的形状为(n,1)x(1,n)的向量填充有一个向量,则该向量将扩展为形状为(n,n)的矩阵。这是和类似的情况可以使必要的向量/矩阵。