Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的If和range_Python_If Statement_Vector - Fatal编程技术网

Python中的If和range

Python中的If和range,python,if-statement,vector,Python,If Statement,Vector,问题1:什么是 if test_idx: X_test, y_test= X[test_idx,:], y[test_idx] 及 在 是吗 问题2:为什么范围应该从105到150开始。我知道向量X_测试有45个数据,但为什么不放,例如,范围(0,45)?(我试着放,我知道样本会变化,但我不明白为什么我应该选择这样的间隔) 在函数定义中,test\u idx的默认值为None: def plot_decision_regions(X, y, classifier,test_id

问题1:什么是

if test_idx:
        X_test, y_test= X[test_idx,:], y[test_idx]

是吗

问题2:为什么
范围应该从105到150开始。我知道向量
X_测试
有45个数据,但为什么不放,例如,
范围(0,45)
?(我试着放,我知道样本会变化,但我不明白为什么我应该选择这样的间隔)


在函数定义中,
test\u idx
的默认值为
None

def plot_decision_regions(X, y, classifier,test_idx=None, resolution = 0.02):
如果它是
None
,则不会执行以下操作,但如果确实提供了一个值(非零),则会执行索引操作:

    if test_idx:
        X_test, y_test= X[test_idx,:], y[test_idx]
这将调用该函数,将
test\u idx
定义为
范围
对象:

plot_decision_regions(X=X_combined_std, y=y_combined, classifier=ppn, test_idx=range(105,150))
如果
X\u combined\u std
y\u combined
是numpy数组(或类似数组的对象),则
test\u idx
范围选择值的“范围”;如图所示:

In [120]: x = np.arange(10)                                                                                     
In [121]: x[range(3, 6)]                                                                                        
Out[121]: array([3, 4, 5])
选择
range(105150)
range(0,45)
只是要绘制哪些数据点/样本/集的问题

开始时,
iris
数据集作为
X
y
加载,然后分成训练集和测试集
combined
将它们连接起来,此范围从组合数组中选择值

 y_combined=np.hstack((y_train, y_test))

看起来iris有150个样本。当
测试大小
为.3时,150*.3为45。因此,在组合数组中,最后45个元素是
test
,其他元素是
training
。因此,这个(105150)范围仅绘制测试值。(0,45)将绘制训练值的子集,这可能并没有意义。

欢迎使用。这不是一个讨论论坛或教程。请花点时间阅读和阅读该页面上的其他链接。你是在问我们为什么你这么写代码。
plot_decision_regions(X=X_combined_std, y=y_combined, classifier=ppn, test_idx=range(105,150))
In [120]: x = np.arange(10)                                                                                     
In [121]: x[range(3, 6)]                                                                                        
Out[121]: array([3, 4, 5])
 y_combined=np.hstack((y_train, y_test))