九年级全册第 8 课“回归算法”教学设计
年级 九年级 单元/主题 第 3 单元 揭秘人工智能
课名 第 8 课 回归算法
一、教学建议
教学时长建议 2 课时
教学目标 本课的主要教学目标: 1.了解人工智能的预测方法。 2.能够使用回归算法预测考试成绩。
教学设计建议 教学设计建议如下: 通过对回归数据进行举例,使同学们能区分什么样的数据可以使用回归算法来进行分析。重点是让学生学会机器学习的流程,知道数据对于机器学习的重要性。
教学方法建议 在学习引入方面,教师可以注重介绍离散型的数据目标。例如成绩,是 60,61,70 这种形式,体重也是离散型的。对于这类数据,都可以使用回归算法进行拟合。 在新知学习方面,对于线性回归算法,可以结合一元一次函数的图像进行形象化理解。 在“项目探究 ”方面,如果同学们不清楚 pandas.DataFrame,可以补充介绍相关知识。同时在使用 sklearn 进行回归的时候,需要让同学们清楚特征值和真值,从而能让同学们对特征值进行拟合,得到真值的近似值。
二、补充知识
对应教材内容(对教材中何处内容的补充) 项目探究
补充内容 pandas.DataFrame: pandas 是一个广泛应用于数据分析和处理的 Python 库。其中最重要的组件之一是 pandas.DataFrame ,它提供了一个二维的表格数据结构,类似于电子表格或关系型数据库中的表。 要使用 pandas.DataFrame ,首先需要安装 pandas 包。可以通过以下命令使用 pip 进行安装: pip install pandas 安装完成后,就可以在代码中导入 pandas 并开始使用 DataFrame。 import pandas as pd pandas.DataFrame 可以被看作是由多个列组成的数据结构,每一列可以包含不同的数据类型(如整数、浮点数、字符串等)。可以将 DataFrame
看作是一个二维的数据结构,其中每一行表示数据集中的一个样本,每一列表示一个特征。 下面是一个示例,展示如何创建一个简单的 DataFrame: import pandas as pd # 创建一个字典,包含学生的姓名和年龄信息data = {'姓名': ['张三', '李四', '王五', '赵六'], '年龄': [20, 22, 21, 19]} # 使用字典创建一个 DataFrame df = pd.DataFrame(data) # 打印 DataFrame print(df) 输出结果如下: 姓名 年龄0 张三 20 1 李四 22 2 王五 21 3 赵六 19 在这个示例中,我们使用一个字典来创建一个 DataFrame ,字典的键作为列名,字典的值作为每一列的数据。通过打印 df,我们可以看到一个包含姓名和年龄的简单数据表。 pandas.DataFrame 提供了许多常用的功能,例如数据的读取、筛选、排序、分组和聚合等。它也支持将 DataFrame 导出为不同的文件格式,如 CSV 、Excel 等。通过使用 pandas.DataFrame ,可以更方便地进行数据处理和分析。
补充知识来源(提供 网站链接或按参考文献格式提供) 无
三、对应需要的软件、硬件说明
对应教材内容(对教材中何处内容使用软件、硬件) 无
软件名称(最好提供开源软件) 无
基本功能说明 无
硬件名称(选择性价比高、中小学能用得起的) 无
基本功能说明 无
四、项目探究解答参考
探究项目:预测考试成绩 参见教材,项目探究中的程序输出结果。
五、操作练习答案
1.预测人 口 出生率 使用线性回归预测 2023 年出生人口数量的示例代码如下: import pandas as pd data = [ {"年份" :2012,"出生人口" :1635}, {"年份" :2013,"出生人口" :1640}, {"年份" :2014,"出生人口" :1687}, {"年份" :2015,"出生人口" :1655}, {"年份" :2016,"出生人口" :1786}, {"年份" :2017,"出生人口" :1723}, {"年份" :2018,"出生人口" :1523}, {"年份" :2019,"出生人口" :1465}, {"年份" :2020,"出生人口" :1200}, {"年份" :2021,"出生人口" :1062}, {"年份" :2022,"出生人口" :965}, ] data = pd.DataFrame(data) from sklearn.linear_model import LinearRegression X = data[["年份"]] y = data["出生人口"] lr = LinearRegression() lr.fit(X, y) score = lr.score(X,y) print(score) print("预测 2023 年有", int(lr.predict(`2023`) [0]), "万人")
2.举例说明生活中哪些问题可以使用线性回归算法进行预测 对数值型的预测都可以尝试使用回归算法,例如 GDP 随年份变化,跳远距离随训练次数变化。