Python 人工智能基础综合实验(学生版 .ipynb 专用)
实验报告名称:学号_24计科x班_姓名_Python科学计算与机器学习实验报告
一、实验基本信息
- 课程名称:Python程序设计 / 人工智能基础
- 实验项目:NumPy、Sklearn、路径与CSV数据综合实验
- 实验环境:Jupyter Notebook、Python 3.x、numpy、scikit-learn、pandas
- 实验日期:2026年
- 姓名:__________ 学号:__________ 班级:24计科x班
二、实验名称
Python 科学计算库、机器学习库与文件数据处理综合实操
三、实验要求
- 在本
.ipynb文件内按模块顺序完成所有代码,每个任务单独一个代码单元格。 - 代码必须运行成功,输出结果清晰,关键代码行添加中文注释。
- 严格按照题目要求完成,不得随意修改题目内容。
- 实验结束后,填写实验心得(不少于100字)。
- 提交文件:
学号_24计科x班_姓名_实验报告.ipynb。
四、实验准备
在下面单元格运行,安装并导入所需库:
# 实验准备:导入所需库
import numpy as np
import os
from pathlib import Path
import pandas as pd
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, classification_report
# 打印版本信息
print("NumPy 版本:", np.__version__)
print("Pandas 版本:", pd.__version__)
五、实验任务(4 模块 × 4 任务,共 16 个任务)
模块一:NumPy 科学计算库使用(4 任务)
任务 1-1:创建多种 NumPy 数组
要求:
- 用
np.array创建一维数组 - 用
np.arange创建 0~19 的一维数组 - 用
np.zeros创建 3 行 4 列全 0 数组 - 用
np.ones创建 2 行 5 列全 1 数组 - 打印所有数组
# ========== 任务 1-1 代码区 ==========
# 1. np.array
arr1 =
# 2. np.arange
arr2 =
# 3. np.zeros
arr3 =
# 4. np.ones
arr4 =
任务 1-2:数组索引与切片
给定二维数组:
arr = np.array([[1,2,3,4],
[5,6,7,8],
[9,10,11,12]])
要求:
- 取第 0 行第 1 列元素
- 取第 2 行所有元素
- 取所有行的第 2 列
- 切片取前 2 行、前 3 列
# ========== 任务 1-2 代码区 ==========
arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
# 1. 第0行第1列
# 2. 第2行全部
# 3. 所有行第2列
# 4. 前2行前3列
任务 1-3:数组运算
要求:
- 创建两个相同形状数组,做加减乘除运算
- 计算数组所有元素的和、均值、最大值、标准差
- 对数组进行转置(.T)
# ========== 任务 1-3 代码区 ==========
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
# 加减乘除
# 和、均值、最大值、标准差
# 转置
任务 1-4:数组形状修改与去重
要求:
- 将一维数组
np.arange(12)改为 3×4 形状 - 使用
.ravel()展平数组 - 对数组
[2,3,2,3,1,3,3,1]去重并统计每个数字出现次数
# ========== 任务 1-4 代码区 ==========
# 1. reshape
# 2. ravel
# 3. 去重与统计次数
arr = np.array([2,3,2,3,1,3,3,1])
模块二:Sklearn 机器学习库基础使用(4 任务)
任务 2-1:加载内置数据集 iris
要求:
- 加载鸢尾花数据集
- 打印数据特征、标签、形状
- 打印前 5 行数据
# ========== 任务 2-1 代码区 ==========
from sklearn.datasets import load_iris
iris = load_iris()
任务 2-2:数据标准化 StandardScaler
要求:
- 对 iris 数据进行标准化
- 打印标准化前、后各 3 行数据对比
# ========== 任务 2-2 代码区 ==========
from sklearn.preprocessing import StandardScaler
任务 2-3:KNN 分类模型训练
要求:
- 使用
KNeighborsClassifier创建模型 - 用标准化后的数据训练模型
- 输出模型在训练集上的评分
# ========== 任务 2-3 代码区 ==========
from sklearn.neighbors import KNeighborsClassifier
任务 2-4:模型预测与评估
要求:
- 用训练好的模型对前 10 个样本预测
- 输出预测标签与真实标签
- 输出准确率
# ========== 任务 2-4 代码区 ==========
模块三:文件路径操作(os + pathlib)(4 任务)
任务 3-1:os 模块获取当前路径
要求:
- 打印当前工作目录
- 拼接路径:当前目录 + “data” + “test.csv”
# ========== 任务 3-1 代码区 ==========
import os
任务 3-2:os 路径判断
要求:
- 判断路径是否存在
- 判断是否是文件
- 判断是否是文件夹
# ========== 任务 3-2 代码区 ==========
任务 3-3:pathlib 路径操作
要求:
- 使用
Path.cwd()获取当前路径 - 用
/拼接路径 - 获取文件名、后缀、父目录
# ========== 任务 3-3 代码区 ==========
from pathlib import Path
任务 3-4:创建文件夹 + 路径综合
要求:
- 在当前目录创建
data文件夹(判断是否存在) - 输出
data文件夹的绝对路径
# ========== 任务 3-4 代码区 ==========
模块四:CSV 读取 + 数据划分 + 模型训练(4 任务)
任务 4-1:生成并读取 CSV 文件
要求:
- 用 pandas 创建简单数据框并保存为
student.csv - 读取 CSV,打印前 5 行、信息、形状
# ========== 任务 4-1 代码区 ==========
import pandas as pd
# 生成示例数据并保存为 csv
# 读取
任务 4-2:数据集划分 train_test_split
要求:
- 以 iris 为例,划分特征与标签
- 按 7:3 划分训练集、测试集
- 输出训练/测试集形状
# ========== 任务 4-2 代码区 ==========
from sklearn.model_selection import train_test_split
任务 4-3:数据预处理(标准化)
要求:
- 对训练集、测试集特征标准化
- 打印标准化后训练集前 3 行
# ========== 任务 4-3 代码区 ==========
任务 4-4:模型训练、预测、评估
要求:
- 使用 KNN 训练
- 在测试集上预测
- 输出准确率、分类报告
# ========== 任务 4-4 代码区 ==========
六、实验心得(必写,Markdown 单元格)
本次实验收获:
1.
2.
3.
遇到的问题与解决方法:
1.
2.
对 NumPy、Sklearn、文件处理的理解:
我可以直接把上面内容生成可直接发给学生的完整 .ipynb 文件源码,学生打开就能写代码,你要我现在生成吗?
3213

被折叠的 条评论
为什么被折叠?



