高一信息技术教学设计:数据特征探索与关联分析实践_第1页
高一信息技术教学设计:数据特征探索与关联分析实践_第2页
高一信息技术教学设计:数据特征探索与关联分析实践_第3页
高一信息技术教学设计:数据特征探索与关联分析实践_第4页
高一信息技术教学设计:数据特征探索与关联分析实践_第5页
已阅读5页,还剩12页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高一信息技术教学设计:数据特征探索与关联分析实践一教学素材分析本教学设计依据《普通高中信息技术课程标准(2017年版2020年修订)》必修模块《数据与计算》第五章“数据分析与可视化”第5.3节“数据关联分析”编写,对应粤教版2019必修1教材第5.3.1“特征探索”与5.3.2“关联分析”两个课时内容。教材以“某电商平台用户购物行为数据”“学生体测数据”等真实场景为载体,引导学生经历从原始数据到可解释洞察的完整建模周期。教材逻辑遵循“数据理解→特征工程→模型构建→结果评价”工程范式。5.3.1聚焦单变量与多变量分布特征的量化描述,核心知识点包括集中趋势、离散程度、分布形态及缺失值、异常值处理策略;5.3.2进阶至变量间依赖关系量化,涵盖数值型变量的皮尔逊相关系数、斯皮尔曼等级相关系数,分类变量的卡方检验、Cramér'sV系数,以及基于相关矩阵的特征筛选思路。两课时形成“描述性统计奠基→推断统计突破”的认知链条,是学生从数据消费者向数据分析师角色转型的关键节点。编写组在处理教材时保留了“探索建模验证”三阶段框架,但对教材自带数据集进行了扩容:引入Kaggle公开的“心脏病预测”数据集(303条记录,14个特征),覆盖数值型、分类型、二值型混合特征,并植入真实缺失与噪声,使教学场景贴近工业级数据清洗痛点。同时将教材中封装的库函数调用拆解为“手算核心指标→库函数验证→参数调优”三层进阶,避免学生陷入“调包侠”误区。二学情分析目标学习者为高一年级学生,已完成Python基础语法、数据结构、文件操作及NumPy、Pandas入门模块学习,具备DataFrame读写、分组聚合、基础绘图能力。但普遍存在三层认知断层:第一,统计直觉匮乏。学生能写出df.mean()代码,却难以解释“为何用中位数替代均值抗干扰”“箱线图须线1.5倍四分位距的几何含义”;第二,工具与理论脱节。相关系数公式在数学课推导过,但面对pandas.DataFrame.corr()输出的热力图,无法判断0.85与0.65的业务决策差异,更不知如何处理多重共线性;第三,工程化思维缺失。习惯单脚本线性执行,缺乏“特征工程管道化”“实验记录可复现”意识,遇到分类变量编码、数据泄露等工程坑点无从下手。针对性策略:引入“数据侦探”角色设定,以“心脏病风险筛查”为贯穿任务,将抽象统计量转化为临床决策依据;设计“手算编程解读”三联单,强制落笔推导核心公式;引入JupyterNotebook作为实验记录本,强制要求Markdown留痕假设与结论,培养可复现分析习惯。三教学目标1.信息意识:能从真实医疗数据中识别隐私敏感字段,主张最小化采集原则;能辨别相关性不等于因果性,抵制伪科学数据解读。2.计算思维:掌握特征探索标准化流程(缺失值诊断→异常值定界→分布变换→编码标准化);能根据变量类型选择相关系数/卡方检验/互信息等关联度量,构建特征筛选决策树。3.数字化学习与创新:熟练使用PandasProfiling生成自动化EDA报告,结合Seaborn/Matplotlib定制化可视化组合(小提琴图+分层箱线图、相关性聚类热力图、马赛克图),产出可交互分析仪表板。4.信息社会责任:理解模型偏见来源(采样偏倚、特征代理歧视),在心脏病预测案例中识别“性别”“胸痛类型”等敏感特征的伦理风险,提出公平性约束建议。四教学重难点重点:混合类型数据的特征探索标准化作业流;变量类型与关联度量的匹配准则;相关矩阵多重共线性诊断与特征降维决策。难点:卡方检验期望频数假设违背时的修正策略;高基数分类变量目标编码的数据泄露防范;从统计显著性到业务显著性的跨越性解读。五教学环境与资源准备硬件:机房配备i5/16G/SSD工作站,预装Anaconda发行版(Python3.10+),内核集成pandas2.1、scipy1.11、statsmodels0.14、seaborn0.13、plotly5.17、ydataprofiling4.5。网络通GitHub与Kaggle镜像站。软件资源:教师端部署JupyterHub多用户环境,学生端统一使用JupyterLab界面。课前推送心脏病数据集(heart.csv)、基线代码模板(baseline.ipynb)、评分细则(rubric.xlsx)。教具:实体卡片套装(变量类型卡、统计量卡、图表卡、检验假设卡),用于线下排布决策树;投影端同步展示教师Notebook实时执行状态。六教学过程设计(一)情境导入:诊断报告里的隐秘线索(8分钟)投影展示一份去标识化心脏病住院记录截图:年龄63,性别男,胸痛类型典型心绞痛,静息血压145,胆固醇233,空腹血糖>120为真,最大心率150,运动诱发心绞痛否,ST段下斜2.3,峰值斜率平坦,主血管数0,地中海贫血正常,诊断结果:有病。教师提问:“若只有这张记录,医生如何判断风险?若有303张这样的记录,机器能学会什么规律?”学生自由发言30秒,引导关键词落在“特征”“模式”“概率”。教师演示baseline.ipynb首块:df=pd.read_csv('heart.csv');print(());print(df.isnull().sum())。屏幕输出显示ca(主血管数)缺失4条,thal(地贫类型)缺失2条,其余完整。追问:“缺失值直接删除行可行吗?均值填补合理吗?ca是计数型,thal是名义型,填补策略该不同还是相同?”抛出本节核心驱动问题:面对脏乱差的混合型医疗数据,如何建立标准化特征探索作业流,挖掘真正预测心脏病的关键因子?(二)特征探索:建立标准化作业流(32分钟)5.变量身份证:类型识别与统计量匹配(10分钟)分组任务:每组领取14张变量卡片,背面印有教材定义的统计量菜单。要求在3分钟内将变量贴在黑板“数值型/有序分类/无序分类/二值型”四象限,并为每象限配齐“核心统计量”“可视化首选”“异常定界规则”。教师巡场干预:重点纠正“年龄视为连续数值无异议,但胸痛类型cp(14)是有序还是无序?教材编码1:典型心绞痛2:非典型3:非心绞痛4:无症状,这真的是有序吗?”引发关于领域知识介入编码的讨论。最终共识形成“变量类型决策表”投影定版:|变量类型|典型代表|集中趋势|离散程度|分布形态|异常定界|首选图表|:::::::数值型连续age,trestbps,chol,thalach,oldpeak均值/中位数标准差/四分位距偏度/峰度箱线图1.5IQR/Zscore>3直方图+核密度/小提琴图/箱线图数值型离散ca(03),slope(13)众数/中位数四分位距频数分布表箱线图1.5IQR条形图/点图有序分类cp(14),restecg(02)中位数/众数四分位距累积分布业务规则判定分层箱线图/脊线图无序分类thal(3,6,7),sex(0/1)众数熵/基尼指数频数占比低频类别合并条形图/马赛克图/词云6.缺失值诊断与修补策略实战(12分钟)教师演示缺失模式可视化:importmissingnoasmsno;msno.matrix(df);msno.heatmap(df)。热力图显示ca与thal缺失无明显共现模式,倾向于MCAR(完全随机缺失),但样本量仅303,删除行损失2%数据,不可取。分组实操任务:针对ca(离散计数)与thal(无序分类)设计填补方案,并在Notebook中完成代码与Markdown论证。教师汇总典型方案并点评:方案A:ca用中位数填补,thal用众数填补。点评:简单粗暴,忽略变量间关系,可能引入偏差。方案B:ca用随机森林回归填补,thal用随机森林分类填补。点评:工程上可行,但引入模型依赖,解释性下降,且易泄露目标变量信息。方案C(推荐):ca构建有序逻辑回归模型填补(利用age,cp,thalach等);thal构建多项式逻辑回归填补。代码演示:fromsklearn.experimentalimportenable_iterative_imputerfromsklearn.imputeimportIterativeImputerfromsklearn.linear_modelimportBayesianRidgeimp_num=IterativeImputer(estimator=BayesianRidge(),max_iter=20,random_state=42)df[['ca']]=imp_num.fit_transform(df[['ca']])分类变量需编码后填补再解码,此处演示众数填补兜底df['thal']=df['thal'].fillna(df['thal'].mode()[0])关键强调:填补前必须拆分训练集/测试集,仅在训练集拟合填补器,再transform测试集,防止数据泄露。此处为EDA演示暂不拆分,但建模环节必须严守。7.异常值定界与分布变换(10分钟)聚焦chol(胆固醇)与oldpeak(ST段压低)。教师展示chol箱线图:上须线触及564,存在生理极值;oldpeak严重右偏,峰值堆积在0。引导学生手算chol四分位数:Q1=211,Q3=275,IQR=64,上界=275+1.5×64=371。代码验证:Q1,Q3=df['chol'].quantile([0.25,0.75])IQR=Q3Q1upper=Q3+1.5IQRoutliers=df[df['chol']>upper]print(f'异常值数量:{len(outliers)},最大值:{df["chol"].max()}')讨论:chol=564是测量误差还是家族性高胆固醇血症?医疗领域不可随意剔除,建议保留并标记is_chol_outlier=1特征,或对数变换压缩动态范围。oldpeak变换实操:df['oldpeak_log']=np.log1p(df['oldpeak']);对比变换前后偏度skew()从1.8降至0.3,核密度图由长尾变近似正态。教师补充:“BoxCox变换要求数据>0,YeoJohnson支持负值,sklearn.preprocessing.PowerTransformer可自动寻找最优λ。”(三)关联分析:从相关矩阵到因果假设(35分钟)8.变量类型配对与度量选择决策树(10分钟)黑板绘制决策树草图,学生上台补全判断节点:目标变量target(二值)vs特征X├─X为数值型→点二列相关系数/逻辑回归系数/AUC├─X为有序分类→斯皮尔曼ρ/Kendall'sτ├─X为无序分类(低基数)→卡方检验/Cramér'sV/互信息└─X为无序分类(高基数)→目标编码平滑后相关/互信息/叶子编码教师补充:教材重点讲皮尔逊r与卡方χ²,实战中互信息MI对非线性关系更敏感,且天然适配分类目标。代码演示:fromsklearn.feature_selectionimportmutual_info_classifmi=mutual_info_classif(X_train,y_train,discrete_features=cat_mask,random_state=42)mi_series=pd.Series(mi,index=X.columns).sort_values(ascending=False)9.数值型变量关联:相关矩阵的深度解剖(15分钟)教师演示绘制聚类热力图:importseabornassnsimportmatplotlib.pyplotaspltcorr=df.select_dtypes(include='number').corr(method='pearson')sns.clustermap(corr,annot=True,fmt='.2f',cmap='vlag',center=0,linewidths=0.5)plt.show()屏幕出现聚类后的热力图,target与thalach(最大心率)0.42、oldpeak0.43、ca0.39、cp0.43呈显著相关。教师追问:“thalach与age相关0.54,这是共线性吗?若同时进入逻辑回归,系数会不稳定吗?”引导学生计算方差膨胀因子VIF:fromstatsmodels.stats.outliers_influenceimportvariance_inflation_factorX_num=df.select_dtypes(include='number').drop('target',axis=1)vif_data=pd.DataFrame()vif_data['feature']=X_num.columnsvif_data['VIF']=[variance_inflation_factor(X_num.values,i)foriinrange(X_num.shape[1])]print(vif_data.sort_values('VIF',ascending=False))输出显示ageVIF=2.1,thalachVIF=2.3,均<5,共线性可接受。但若加入衍生特征age_squared,VIF飙升至15,教师现场演示移除age_squared后模型稳定性提升。深度解读环节:教师指着heatmap上target与sex相关系数0.11(p>0.05)提问:“相关性不显著,就能断定性别不是风险因子吗?”引出“交互作用”与“非线性掩蔽”概念。演示分性别绘制thalachboxplot:女性组thalach均值显著低于男性,但患病率更高,提示sex为调节变量,需构建交互项sexthalach。10.分类变量关联:卡方检验与效应量的双重验证(10分钟)聚焦cp(胸痛类型)与target。列联表构建:ct=pd.crosstab(df['cp'],df['target'],margins=True)print(ct)教师手写卡方公式推导核心逻辑:χ²=Σ(OᵢⱼEᵢⱼ)²/EᵢⱼEᵢⱼ=(行总计×列总计)/总样本量自由度df=(r1)(c1)=(41)(21)=3代码验证:fromscipy.statsimportchi2_contingencychi2,p,dof,expected=chi2_contingency(ct.iloc[:1,:1],correction=False)print(f'χ²={chi2:.2f},p={p:.4f},df={dof}')效应量Cramér'sVn=ct.iloc[1,1]phi2=chi2/nr,k=ct.shape[0]1,ct.shape[1]1cramers_v=np.sqrt(phi2/min(r,k))print(f'Cramér\'sV={cramers_v:.3f}')输出:χ²=58.12,p=1.2e12,V=0.44。教师强调:“p值只受样本量影响,效应量V=0.44才代表中等强度关联,才是业务决策依据。”假设检验前提核查:expected矩阵最小期望频数为12.6>5,满足前提。若不满足(如thal细分类别稀疏),演示合并稀疏类别或使用Fisher精确检验:fromscipy.statsimportfisher_exact仅适用2x2表,大表需蒙特卡洛模拟chi2_mc,p_mc,_,_=chi2_contingency(ct.iloc[:1,:1],correction=False,lambda_="loglikelihood")print(f'Gcheckp={p_mc:.4f}')(四)迁移拓展:特征工程管道化与自动化EDA(15分钟)教师演示sklearnPipeline封装全流程:fromsklearnposeimportColumnTransformerfromsklearn.pipelineimportPipelinefromsklearn.imputeimportSimpleImputerfromsklearn.preprocessingimportStandardScaler,OneHotEncoder,OrdinalEncoderfromsklearn.feature_selectionimportSelectKBest,mutual_info_classifnum_features=['age','trestbps','chol','thalach','oldpeak']ord_features=['cp','slope']假设有序nom_features=['sex','restecg','thal']无序ca视为数值处理preprocessor=ColumnTransformer([('num',Pipeline([('imputer',SimpleImputer(strategy='median')),('scaler',StandardScaler())]),num_features),('ord',Pipeline([('imputer',SimpleImputer(strategy='most_frequent')),('enc',OrdinalEncoder())]),ord_features),('nom',Pipeline([('imputer',SimpleImputer(strategy='most_frequent')),('enc',OneHotEncoder(handle_unknown='ignore',sparse_output=False))]),nom_features)])selector=SelectKBest(mutual_info_classif,k=8)pipe=Pipeline([('prep',preprocessor),('select',selector)])X=df.drop('target',axis=1)y=df['target']X_trans=pipe.fit_transform(X,y)selected_mask=d_steps['select'].get_support()selected_names=(num_features+ord_features+list(d_steps['prep'].named_transformers_['nom'].named_steps['enc'].get_feature_names_out(nom_features)))[selected_mask]print(f'筛选特征:{selected_names}')强调:ColumnTransformer保证训练/测试一致性;OneHotEncoder处理高基数需配合handle_unknown='ignore';特征选择必须在CV内部完成,此处为演示简化。自动化EDA对比:引入ydataprofiling一键生成报告:fromydata_profilingimportProfileReportprofile=ProfileReport(df,title="HeartDiseaseEDA",explorative=True)profile.to_file("heart_eda.html")打开html展示相关性矩阵、缺失谱、两两散点图矩阵、文本分析等模块。引导学生对比“手工探索”与“自动化报告”的异同:自动化覆盖面广但缺乏领域语义,手工探索深度高但易遗漏,工程实践应“自动化扫描→人工深挖→文档沉淀”。(五)总结评价与分层作业(5分钟)教师回顾全课核心脉络:变量身份证→缺失异常诊疗→分布变换归一→关联度量匹配→效应量业务解读→管道化封装。强

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论