我刚开始自学python中的机器学习。我并没有理解代码中的某一段,希望您能够帮我澄清它的含义。
此外,我不知道[:, -1]
和[:,: - 1]
是什么意思。
inputs = training_data[:,:-1]
outputs = training_data[:, -1]
我刚开始自学python中的机器学习。我并没有理解代码中的某一段,希望您能够帮我澄清它的含义。
此外,我不知道[:, -1]
和[:,: - 1]
是什么意思。
inputs = training_data[:,:-1]
outputs = training_data[:, -1]
[:, :]
的字面意思是[所有行,所有列]
。
在Python中进行索引时,当您从第一个元素到最后一个元素时,它从0
开始,但是当您从最后一个元素开始时,它从-1
开始。
因此,当您执行[:, -1]
时,这意味着您正在获取所有行和仅最后一列。-1
表示最后一列。
当您执行[:, :-1]
时,这意味着您正在获取所有行和除最后一列之外的所有列。
现在,当您执行training_data[:, -1]
时,这意味着从数据框training_date
中,您使用所有行和仅最后一列。类似地,training_data[:, :-1]
表示所有行和除最后一列之外的所有列。
但是:
如果您执行training_data[:, -1]
,可能会遇到切片问题。由于您使用整数来切片df
,因此最好使用.iloc方法。
本教程如何从Pandas DataFrame中选择多个行和列?清楚地解释了所有内容。请查看它。
x = np.random.rand(3,2)
x
array([[0.55424444, 0.86283166],
[0.11931308, 0.43853805],
[0.13662337, 0.06383871]])
n = x[:, -1]
n
array([0.86283166, 0.43853805, 0.06383871])
__getitem__
接收的是一个slice
对象的元组,而不是一个单独的slice
对象。 - chepner[:, :-1]
生成两个slice
对象,即slice(None,None,None)
和slice(None, -1, None)
。 - chepner