DAY16 超大力王爱学Python

1. NumPy 数组的创建

简单创建

NumPy 数组是一个由相同类型元素组成的多维网格。你可以使用numpy.array()函数,通过传入 Python 列表来创建数组。

import numpy as np

# 创建一维数组
arr1 = np.array([1, 2, 3, 4, 5])
print("一维数组:", arr1)

# 创建二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", arr2)

简单来说,就像是把一个个数字或者一组组数字规整地放进一个容器里,一维数组就是一列数字,二维数组就像是一个表格。

随机创建

NumPy 提供了许多函数用于创建随机数组,比如np.random.rand()可以创建指定形状的随机数组,数组元素是在[0, 1)区间内均匀分布的随机数。

import numpy as np

# 创建一个形状为 (2, 3) 的随机数组
rand_arr = np.random.rand(2, 3)
print("随机数组:\n", rand_arr)

这就好比是你让计算机随机抓一些数字放到你指定大小的容器里。

遍历

遍历数组就是依次访问数组中的每个元素。对于一维数组,你可以使用简单的for循环;对于多维数组,你可能需要嵌套的for循环。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

# 遍历二维数组
for row in arr:
    for element in row:
        print(element)

这就像是你按照一定的顺序一个一个地去查看容器里的每个东西。

运算

NumPy 数组支持各种数学运算,这些运算会对数组中的每个元素进行操作。

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 加法运算
result = arr1 + arr2
print("加法结果:", result)

这就像是把两个容器里对应位置的东西进行相加,得到一个新的容器。

2. NumPy 数组的索引

一维数组索引

一维数组的索引就像 Python 列表的索引一样,索引从 0 开始。

import numpy as np

arr = np.array([10, 20, 30, 40, 50])
print("第一个元素:", arr[0])
print("最后一个元素:", arr[-1])

你可以把一维数组想象成一排座位,索引就是座位的编号,通过编号就能找到对应的人(元素)。

二维数组索引

二维数组有行和列,你需要同时指定行索引和列索引来访问元素。

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print("第一行第二列的元素:", arr[0, 1])

可以把二维数组看作是一个教室的座位表,行索引就是排数,列索引就是座位号,通过排数和座位号就能确定具体的座位(元素)。

三维数组索引

三维数组可以想象成多个二维数组堆叠在一起,你需要指定三个索引:层数、行索引和列索引。

import numpy as np

arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print("第一层第一行第二列的元素:", arr[0, 0, 1])

就像是有好几栋教学楼,每栋教学楼有很多教室,每个教室有很多座位,你需要通过楼号、教室号和座位号才能确定具体的位置(元素)。

3. SHAP 值的深入理解

SHAP(SHapley Additive exPlanations)值是一种用于解释机器学习模型预测结果的方法。它基于博弈论中的 Shapley 值概念。

在机器学习中,每个特征对于模型的预测结果都有一定的贡献。SHAP 值的作用就是量化每个特征对于最终预测结果的贡献大小。

例如,你有一个预测房价的模型,模型会根据房屋的面积、卧室数量、位置等特征来预测房价。SHAP 值可以告诉你每个特征(如面积、卧室数量等)对最终预测房价的影响有多大。

SHAP 值有正有负,正的 SHAP 值表示该特征增加了模型的预测值,负的 SHAP 值表示该特征降低了模型的预测值。通过计算和分析 SHAP 值,你可以更好地理解模型是如何做出预测的,哪些特征对预测结果影响较大,从而提高模型的可解释性。

简单来说,SHAP 值就像是一个 “功劳簿”,记录了每个特征在模型预测中所起到的作用。

@浙大疏锦行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值