根据提供的文档信息,我们可以整理出以下相关的人工智能与机器学习知识点: ### 一、惰性对象及其使用 - **惰性对象**:惰性对象指的是在被明确调用之前不会执行计算的对象,如 `enumerate()` 和 `itertuples()` 方法生成的对象。 - **惰性对象的查看方式**:可以通过 `[*V]` 的方式查看惰性对象的内容。 ### 二、数据类型的查看 - **使用 `type(V)`**:通过此命令可以查看变量 `V` 的类型。 ### 三、NumPy 库中的数组操作 #### 1. 查看数据 - **`np.unique(y)`**:用于查看数组 `y` 中的所有唯一元素及它们出现的次数。 #### 2. 数组的维度变换 - **降维** - `V.ravel()`:将多维数组转换为一维数组。 - `V.reshape(np.prod(V.shape))`:通过计算当前数组的元素总数,将数组重塑为一维。 - **区别**:`ravel` 是在几何维度上的降维,而 `reshape` 是在数据维度上的降维。 - **升维** - 使用 `V.reshape()` 方法可以改变数组的形状,例如: - 将一维数组 `V1 = array([1,2,3,1,2,2,3,1])` 转换为三维数组: - `V2 = V1.reshape(2,2,2)`,得到的 `V2` 是三维数组 `[[[1,2],[3,1]], [[2,2],[3,1]]]`。 #### 3. 数组的分合 - **拆分**:通常使用 `numpy` 的函数来实现。 - **合并** - `np.concatenate()`:沿着指定轴连接两个数组。 - 示例:`np.concatenate((V1, V2), axis=0)` 表示垂直连接两个数组。 - 示例:`np.concatenate((V1, V2), axis=1)` 表示水平连接两个数组。 - `np.append()`:向现有数组追加值。 - `np.vstack()`:垂直堆叠数组。 - 示例:`V = np.vstack(([1,1,2], [2,3,4]))` 结果为 `array([[1,1,2], [2,3,4]])`。 #### 4. 生成网格坐标矩阵 - **`np.meshgrid()`**:生成网格坐标矩阵。 ### 四、数据构造 #### 1. 随机序列构造 - 使用 `numpy.random` 模块中的函数生成随机数据。 #### 2. 不随机序列构造 - **`np.linspace()`**:创建一个等差数列。 - 示例:`np.linspace(1, 10, 5)` 创建从 1 到 10 之间的 5 个等间距数。 - **`np.arange()`**:创建等差数列。 - 示例:`np.arange(10)` 生成从 0 到 9 的整数数组。 - 示例:`np.arange(10, 20, 2)` 生成从 10 到 20 的偶数数组。 #### 3. 矩阵构造 - **单位矩阵**:`np.eye(n)` 生成 n×n 的单位矩阵。 - **特定值填充的矩阵** - `np.zeros((m, n))`:生成 m 行 n 列的零矩阵。 - `np.ones((m, n))`:生成 m 行 n 列的全一矩阵。 - `np.full((m, n), value)`:使用特定值 `value` 填充的 m 行 n 列矩阵。 ### 五、Pandas 库中的数据处理 #### 1. 数据读取 - 使用 `pd.read_csv()` 或 `pd.read_excel()` 读取 CSV 或 Excel 文件。 - 示例:`pd.read_csv('path/to/file.csv')` #### 2. 数据分割(截取) - 使用 `.loc` 和 `.iloc` 对 DataFrame 进行行和列的截取。 - 示例:`data.loc[:, 'column_name']` 表示选取所有行的某列数据。 - 示例:`data.iloc[1:5, 0:3]` 表示选取第 2 行至第 5 行,第 1 列至第 3 列的数据。 #### 3. 数据合并 - 使用 `.join()` 方法合并 DataFrame。 #### 4. 数据删除 - 使用 `.drop()` 方法删除 DataFrame 中的行或列。 #### 5. 数据分组与聚合 - 使用 `.groupby()` 方法对数据进行分组,并使用 `.agg()` 方法进行聚合操作。 ### 六、Scikit-learn 库的应用 #### 1. 训练集与测试集划分 - 使用 `train_test_split()` 函数进行数据集的划分。 #### 2. 交叉验证 - 使用 `cross_val_score()` 函数进行交叉验证。 以上是根据给定的文档信息整理出的主要知识点,这些知识点涵盖了机器学习中数据预处理的基础,对于初学者来说是非常实用的内容。
剩余9页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Arduino和Firebase的智能家庭管理系统NodeSmartHome.zip
- (源码)基于C++的East Zone DSTADSO Robotics Challenge 2019机器人控制系统.zip
- (源码)基于Arduino平台的焊接站控制系统.zip
- (源码)基于ESPboy系统的TZXDuino WiFi项目.zip
- (源码)基于Java的剧场账单管理系统.zip
- (源码)基于Java Swing的船只资料管理系统.zip
- (源码)基于Python框架的模拟购物系统.zip
- (源码)基于C++的图书管理系统.zip
- (源码)基于Arduino的简易温度显示系统.zip
- (源码)基于Arduino的智能电动轮椅系统.zip