python中的list indices must be integers or slices, not tuple

本文介绍了一种生成异或(XOR)随机数据集的方法,并通过Matplotlib库将其可视化。该过程涉及使用NumPy创建随机数,然后根据条件划分数据点并标记,最后用不同颜色和标记绘制两类数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
from numpy.random import RandomState
rdm = RandomState(1)
X = rdm.rand(256, 2)
X1 = []
X2 = []
Y = []
for x1,x2 in X:
    if x1<0.5 and x2 < 0.5:
        X1.append([x1,x2])
        Y.append(0)
    elif ((x1 > 0.5) and (x2 > 0.5)):
        X1.append([x1, x2])
        Y.append(0)
    else:
        X2.append([x1, x2])
        Y.append(1)
#等价于:Y=[[int(x1 + x2) < 1] for (x1,x2) in X]
X1N = np.array(X1)
X2N = np.array(X2)
print(type(X2N))
print('------------------------------------')
print(X2N)

import matplotlib.pyplot as plt
plt.scatter(X1N[:,0], X1N[:,1], color = 'red', marker = 'x')
#此处使用X1就会出现list indices must be integers or slices, not tuple错误
#因为X1的类型是list,需要转换为numpy的ndarray
plt.scatter(X2N[:,0], X2N[:,1], color = 'blue', marker = 'o')
plt.show()

上面的例子中是为了自己造一个异或的随机数据集,并且将这个数据集画出来,画出来的过程中就出现这个问题了。

运行上面的代码,就可以画出来了:

后面再搭个模型做个分类任务,实现一下异或。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程大师兄

客官,,打赏是什么意思?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值