Python实验报告

Python 人工智能基础综合实验(学生版 .ipynb 专用)

实验报告名称:学号_24计科x班_姓名_Python科学计算与机器学习实验报告


一、实验基本信息

  • 课程名称:Python程序设计 / 人工智能基础
  • 实验项目:NumPy、Sklearn、路径与CSV数据综合实验
  • 实验环境:Jupyter Notebook、Python 3.x、numpy、scikit-learn、pandas
  • 实验日期:2026年
  • 姓名:__________ 学号:__________ 班级:24计科x班

二、实验名称

Python 科学计算库、机器学习库与文件数据处理综合实操


三、实验要求

  1. 在本 .ipynb 文件内按模块顺序完成所有代码,每个任务单独一个代码单元格
  2. 代码必须运行成功,输出结果清晰,关键代码行添加中文注释
  3. 严格按照题目要求完成,不得随意修改题目内容。
  4. 实验结束后,填写实验心得(不少于100字)。
  5. 提交文件:学号_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 数组

要求:

  1. np.array 创建一维数组
  2. np.arange 创建 0~19 的一维数组
  3. np.zeros 创建 3 行 4 列全 0 数组
  4. np.ones 创建 2 行 5 列全 1 数组
  5. 打印所有数组
# ========== 任务 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]])

要求:

  1. 取第 0 行第 1 列元素
  2. 取第 2 行所有元素
  3. 取所有行的第 2 列
  4. 切片取前 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:数组运算

要求:

  1. 创建两个相同形状数组,做加减乘除运算
  2. 计算数组所有元素的和、均值、最大值、标准差
  3. 对数组进行转置(.T)
# ========== 任务 1-3 代码区 ==========
a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])

# 加减乘除

# 和、均值、最大值、标准差

# 转置


任务 1-4:数组形状修改与去重

要求:

  1. 将一维数组 np.arange(12) 改为 3×4 形状
  2. 使用 .ravel() 展平数组
  3. 对数组 [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

要求:

  1. 加载鸢尾花数据集
  2. 打印数据特征、标签、形状
  3. 打印前 5 行数据
# ========== 任务 2-1 代码区 ==========
from sklearn.datasets import load_iris
iris = load_iris()


任务 2-2:数据标准化 StandardScaler

要求:

  1. 对 iris 数据进行标准化
  2. 打印标准化前、后各 3 行数据对比
# ========== 任务 2-2 代码区 ==========
from sklearn.preprocessing import StandardScaler


任务 2-3:KNN 分类模型训练

要求:

  1. 使用 KNeighborsClassifier 创建模型
  2. 用标准化后的数据训练模型
  3. 输出模型在训练集上的评分
# ========== 任务 2-3 代码区 ==========
from sklearn.neighbors import KNeighborsClassifier


任务 2-4:模型预测与评估

要求:

  1. 用训练好的模型对前 10 个样本预测
  2. 输出预测标签与真实标签
  3. 输出准确率
# ========== 任务 2-4 代码区 ==========


模块三:文件路径操作(os + pathlib)(4 任务)

任务 3-1:os 模块获取当前路径

要求:

  1. 打印当前工作目录
  2. 拼接路径:当前目录 + “data” + “test.csv”
# ========== 任务 3-1 代码区 ==========
import os


任务 3-2:os 路径判断

要求:

  1. 判断路径是否存在
  2. 判断是否是文件
  3. 判断是否是文件夹
# ========== 任务 3-2 代码区 ==========


任务 3-3:pathlib 路径操作

要求:

  1. 使用 Path.cwd() 获取当前路径
  2. / 拼接路径
  3. 获取文件名、后缀、父目录
# ========== 任务 3-3 代码区 ==========
from pathlib import Path


任务 3-4:创建文件夹 + 路径综合

要求:

  1. 在当前目录创建 data 文件夹(判断是否存在)
  2. 输出 data 文件夹的绝对路径
# ========== 任务 3-4 代码区 ==========


模块四:CSV 读取 + 数据划分 + 模型训练(4 任务)

任务 4-1:生成并读取 CSV 文件

要求:

  1. 用 pandas 创建简单数据框并保存为 student.csv
  2. 读取 CSV,打印前 5 行、信息、形状
# ========== 任务 4-1 代码区 ==========
import pandas as pd

# 生成示例数据并保存为 csv

# 读取


任务 4-2:数据集划分 train_test_split

要求:

  1. 以 iris 为例,划分特征与标签
  2. 按 7:3 划分训练集、测试集
  3. 输出训练/测试集形状
# ========== 任务 4-2 代码区 ==========
from sklearn.model_selection import train_test_split


任务 4-3:数据预处理(标准化)

要求:

  1. 对训练集、测试集特征标准化
  2. 打印标准化后训练集前 3 行
# ========== 任务 4-3 代码区 ==========


任务 4-4:模型训练、预测、评估

要求:

  1. 使用 KNN 训练
  2. 在测试集上预测
  3. 输出准确率、分类报告
# ========== 任务 4-4 代码区 ==========


六、实验心得(必写,Markdown 单元格)

本次实验收获:
1.
2.
3.

遇到的问题与解决方法:
1.
2.

对 NumPy、Sklearn、文件处理的理解:


我可以直接把上面内容生成可直接发给学生的完整 .ipynb 文件源码,学生打开就能写代码,你要我现在生成吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

牛魔小丸子

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值