numpy ix_ 学习记录

本文通过实例展示了如何使用NumPy的高级索引方法,包括ix_函数及花式索引来选取多维数组中的特定元素。这些方法在数据分析和科学计算中十分常见。

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

官网上给出的例子

>>> a = np.arange(10).reshape(2, 5) 
>>>a 
array([[0, 1, 2, 3, 4], 
[5, 6, 7, 8, 9]]) 
>>>ixgrid = np.ix_([0, 1], [2, 4]) 
>>>ixgrid 
(array([[0], 
[1]]), array([[2, 4]])) 
#也就是说取0行和1行,拼接2列和4列 
>>> ixgrid[0].shape, ixgrid[1].shape 
((2, 1), (1, 2)) 
>>> a[ixgrid] 
array([[2, 4], 
[7, 9]])

>>>ixgrid = np.ix_([True, True], [2, 4]) 
>>>a[ixgrid] 
array([[2, 4], 
[7, 9]]) 
>>>ixgrid = np.ix_([True, True], [False, False, True, False, True]) 
>>> a[ixgrid] 
array([[2, 4], 
[7, 9]])

除了用ix_外,还可以用花式索引

>>>test=a[np.ix_([0, 1], [:,[2, 4])] 
>>>test 
array([[2, 4], 
[7, 9]])

### 关于机器学习和数据挖掘中感知机的学习笔记 #### 感知机简介 感知机是一种用于线性分类的监督学习算法,属于最简单的神经网络形式之一。该模型由两层组成:输入层和输出层,其中权重连接这两层节点[^1]。 #### 数学表达式 感知机通过计算加权求和并应用激活函数来决定最终输出类别标签。具体来说: \[ f(x)=sign(\sum_{i=0}^{n}{w_ix_i}) \] 这里 \( w_i \) 表示第 i 维特征对应的权重参数,\( x_i \) 是相应维度上的输入变量值,而 sign 函数用来判断正负号从而得出所属类别。 ```python import numpy as np def perceptron_predict(X, weights): """基于给定权重预测单个样本X的结果""" z = np.dot(weights.T, X) return 1 if z >= 0 else -1 ``` #### 学习策略 为了调整初始设定不当或者随机初始化后的权重向量使之逐渐逼近最优解,采用误分类最小化原则更新规则如下所示: 如果实例被错误划分,则按照一定步长修正当前方向直至收敛为止;反之保持不变继续下一个训练样例直到遍历整个集合完成一轮迭代循环操作。 ```python learning_rate = 0.1 # 步长大小可调参优化设置 for epoch in range(max_epochs): for xi, target in zip(X_train, y_train): update = learning_rate * (target - predict(xi)) weights += update * xi ``` #### 应用场景 尽管简单朴素却有着广泛应用背景,比如垃圾邮件过滤器设计当中可以利用其快速高效的特点实现初步筛选工作;另外图像边缘轮廓提取任务里也能发挥重要作用等等[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值