神经网络心态的简单Logistic回归

时间:2018-09-06 07:55:36

标签: python neural-network logistic-regression

进行了这个简单的练习,我必须借助Logistic回归构建NN。我的数据集是通过以下方式构建的:

  

您将获得一个包含以下内容的数据集(“ data.h5”)

     
      
  • 一组训练为m_train图像的训练集,标记为cat(y = 1)或non-cat(y = 0)
  •   
  • 由m_test张图片标记为cat或non-cat的测试集
  •   
  • 每个图像的形状为(num_px,num_px,3),其中3表示3个通道(RGB)。因此,每个图像都是正方形(高度= num_px),并且   (宽度= num_px)。
  •   

要显示数据库中的图像,文本为我提供了一个示例:

# Example of a picture# Examp 
index = 25
plt.imshow(train_set_x_orig[index])
print ("y = " + str(train_set_y[:,index]) + ", it's a '" + classes[np.squeeze(train_set_y[:,index])].decode("utf-8") +  "' picture.")

我有2个问题:

1)我不了解其工作原理:str(train_set_y[:,index])

2)最大的问题是,由于站点问题,我无法下载此数据库,并且为了进行练习,我想了解它是如何构建的。有人可以直观地告诉我它的结构吗?

2 个答案:

答案 0 :(得分:0)

我认为此代码段来自Coursera深度学习课程1。

“ train_set_y” 是形状为(1,209)的向量,即,对于所有209个训练示例,其标签均为0或1,“ train_set_y [:,25]” 给出从向量train_set_y的第25个位置开始的整数标签0或1。在连接字符串(“ y =” + str(train_set_y [:,index]))时。我们需要使用str将其转换为字符串。

检查笔记本中的 lr_utils.py 文件,它将使您清楚地了解如何加载和转换数据集。

下面是lr_utils.py文件中的代码段

def load_dataset():
   train_dataset = h5py.File('datasets/train_catvnoncat.h5', "r")
   train_set_x_orig = np.array(train_dataset["train_set_x"][:]) # your train set features
   train_set_y_orig = np.array(train_dataset["train_set_y"][:]) # your train set labels

   test_dataset = h5py.File('datasets/test_catvnoncat.h5', "r")
   test_set_x_orig = np.array(test_dataset["test_set_x"][:]) # your test set features
   test_set_y_orig = np.array(test_dataset["test_set_y"][:]) # your test set labels

   classes = np.array(test_dataset["list_classes"][:]) # the list of classes

   train_set_y_orig = train_set_y_orig.reshape((1, train_set_y_orig.shape[0]))
   test_set_y_orig = test_set_y_orig.reshape((1, test_set_y_orig.shape[0]))

   return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes

答案 1 :(得分:0)

  1. 可以在此位置下载数据集,(感谢Anderson!)

  2. 然后构建@taurz的lr_utils函数,将sys.path()放入任何目录,但请确保从train_dataset = h5py.File('datasets / train_catvnoncat.h5',“ r“)

  3. str(train_set_y [:,index])是标签>> train_set_y,您可以看到所有功能, train_set_y.shape =(1,209),train_set_y [:,25] [0] = 1,这意味着它是猫。