ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

美赛C题星体数据实战:特征工程与建模全攻略

美赛C题星体数据实战:特征工程与建模全攻略 每年美赛一到C题总是最容易被低估的那个。表面上看Problem C是个数据分析题读起来好像比A题的微分方程、B题的离散建模亲切不少但真正上手就会发现它才是最容易让人“做到一半换题”的坑。2026年这轮C题是“与星体相关的数据”看到这个主题时我第一反应是这题既能出成经典的恒星分类也能出成系外行星候选识别还能出成变星的光变曲线异常检测。不管具体落到哪个角度底层的建模逻辑都是同一套——给你一堆天体观测记录让你从中找出规律、完成分类或预测然后写成一篇既像数据科学报告又像科研论文的东西。这篇文章我打算把思路、代码和论文写作这三块完整拆一遍重点讲清楚数据怎么理解、特征怎么做、模型怎么选、代码怎么写才不会翻车以及最后的论文怎么组织才能拿高分。不管你是第一次打美赛的新手还是已经打过两三次但C题始终没摸透的老手这篇文章都值得花二十分钟看完。我会按照实际做这道题的时间线来讲从拿到数据的第一天到最后提交前夜每个环节的坑和技巧都会提到。1. 先把题目嚼碎数据模型与问题定性1.1 题目表象与真实考点很多队伍拿到C题第一件事就是打开数据看两眼然后开始跑模型。这其实是大忌。C题通常不会直接告诉你“请做一个二分类”而是给出一堆字段和一篇长长的背景描述让你自己去提炼问题。2026年这道与星体相关的题我猜测大概率会围绕天体观测数据展开比如恒星光谱特征、星系形态参数、天体亮度时间序列甚至可能混合多种来源的数据。这种题目真正的考点不是你会不会用随机森林而是你能不能把“天文学问题”翻译成“数据科学问题”。举个例子如果题目给的是恒星光谱数据让你判断某颗恒星属于哪一类表面上是分类问题但深层考点是你如何处理高维光谱特征如何解决类别不均衡如何解释模型的判断依据如果题目给的是时间序列的光变曲线那考点就更复杂了——你可能需要做时序特征提取、周期分析甚至用傅里叶变换把时域数据转成频域特征。这些能力不是临时抱佛脚能练出来的需要在赛前就有意识地积累。我的建议是拿到题目后先用半天时间把题目背景读三遍列出三个关键问题——题目要我预测什么数据里有什么评价标准是什么这三个问题想清楚了后面的路才好走。不要急于看数据先建立问题框架。1.2 数据字段与隐藏信号天体数据通常有几个显著特点字段名比较专业、缺失值较多、量纲差异巨大、可能存在大量离群点。比如红移、星等、赤经赤纬、视向速度、颜色指数这些字段如果你没有基础光看名字是猜不出含义的。这时候需要做两件事一是快速查阅字段说明文档二是对照天文常识理解每个字段的物理意义。不要小看这一步理解字段含义直接决定了你能构造出什么特征。举个例子恒星颜色指数比如g-r色指数虽然只是两个波段的星等差值但它与恒星温度有很强的相关性——蓝的恒星热红的恒星冷。如果你知道这一点就可以直接构造一个“恒星温度代理特征”这比单纯把g和r两个字段丢进模型里要高明得多。再比如如果数据里有视差parallax你就可以计算出距离然后结合视星等推出绝对星等这又是一个有物理含义的特征。隐藏信号的另一个来源是数据之间的交叉组合。天体数据里经常出现某个字段单独看没什么用但两个字段一比就非常有区分度。我的经验是每次做这类题都要留出专门的时间做“字段两两对比可视化”用散点图矩阵或者相关性热力图扫一遍往往能发现意想不到的规律。比如恒星颜色和光度的关系图里不同星族会形成明显不同的条带这就是天然的聚类信号。1.3 评价指标决定建模路线美赛C题的评分标准不像Kaggle那样只看一个数值但题目说明里通常会对“准确性”提出要求评委也会看你的模型有没有合理的误差分析。这就意味着你不仅要会建模型还要能说清楚你的模型有多好以及为什么好。提前搞清楚题目要求的评价方式能帮你少走很多弯路。如果题目里明确要求“预测类别”那你要考虑的就是分类准确率、F1分数这些指标同时要注意数据是否均衡。如果题目要求“估计置信度”那你可能要做的不只是预测还要给出概率或区间这就涉及到模型的不确定性量化。如果题目强调的是“识别异常天体”那召回率可能比精确率更重要——错过一个特殊天体比误报几个普通天体的代价更大。我在2026年的备赛建议里反复强调一点先把评价指标定下来再选模型。很多人一上来就堆积模型最后结果好看但解释不清论文里写不明白分数反而不高。美赛是写论文的比赛不是刷分比赛你的每一步都要能写进论文里还要能自圆其说。2. 数据处理与特征工程80%的分数在这里2.1 数据清洗的坑与对策天体数据的清洗有几个非常容易踩的坑。第一个坑是缺失值处理不当。很多队伍的做法是直接删除含缺失值的行这在小数据集上可能可行但如果缺失率在30%以上删完数据就所剩无几了。更稳妥的做法是分情况处理如果缺失值集中在某几个字段可以考虑用中位数填充如果某个字段缺失率过高直接放弃这个字段反而更安全如果缺失值分布在少数样本上才考虑删除样本。第二个坑是离群点处理。天文数据里的离群点有时是测量误差有时却是真正有价值的天体比如超新星、活动星系核。如果你一上来就用3σ原则把所有离群点都删掉很可能把题目最想让你发现的“特殊天体”也删掉了。我的建议是离群点先保留建模前单独分析一下它们的分布看看是不是有聚类趋势。如果离群点本身能聚成几类那它们很可能就是答案的一部分。第三个坑是量纲与分布问题。天体数据里常出现数值范围跨度巨大的字段比如某个特征的取值范围是0到1另一个特征却从10的5次方到10的10次方。这种情况下如果不做标准化模型很容易被大数值字段主导。我通常的做法是树模型可以不标准化但线性模型和神经网络必须要标准化对于长尾分布特征先做log变换再标准化更稳妥。2.2 特征构造思路从物理意义出发特征工程是C题拿高分的核心分水岭。同样是拿到一份天体数据普通队伍只会把原始字段丢给模型聪明的队伍会构造出一堆有物理意义的特征让模型在同样的数据量下获得更多的信息量。我总结了一份天体数据特征构造清单按类别整理如下特征类别构造思路示例说明物理推导特征利用已知公式计算新特征由视差计算距离由距离和视星等计算绝对星等颜色特征不同波段星等差值g-r色指数、u-b色指数反映温度与星族类型比例特征字段之间做比率两个波段流量之比常用于区分恒星与星系统计特征对重复观测做聚合统计多次观测的均值、方差、极差反映稳定性频域特征对时序数据做傅里叶变换提取主周期、振幅、相位用于变星识别这些特征不是说构造得越多越好而是每一个都要有理由。论文里写特征时如果能写出“根据维恩位移定律恒星峰值波长与温度成反比因此我们构造了...”这种有物理依据的描述评委的印象分会明显提升。纯数据驱动的盲目特征堆叠在美赛里往往不如“少量但有理有据”的特征。另外特征构造完了一定要做验证。最简单的方法是把新特征单独拿出来画图看正负样本的分布是否有区分度。如果画完图发现两类分布完全重叠那这个特征基本没有价值可以丢掉。可视化这一步虽然不写进论文但对你的建模方向有决定性帮助。2.3 可视化先行让数据自己说话我见过太多队伍写论文时才开始画图结果图表质量惨不忍睹。实际上可视化应该从分析第一天就开始做它既是探索工具也是论文素材。拿到数据后至少要产出三类图数据总览图各字段分布直方图、相关性图热力图、关键关系图散点图/箱线图。对于天体数据有几类图特别值得做。第一类是赫罗图光度-温度图如果数据里有恒星温度和亮度信息画这个图几乎必出成果——不同星族的恒星在图上会自然分成几条序列这本身就能支撑一篇分析。第二类是三维投影图用PCA或t-SNE把高维光谱数据降到3维用不同颜色标出类别往往能看到非常漂亮的聚类结构。第三类是时序曲线图如果题给了多时段观测数据把几条典型的光变曲线画出来配上周期标注这在论文里极具说服力。可视化时要注意的是配色和标注。美赛论文是黑白的或者打印后灰度你的图不能依赖颜色来区分信息。我建议用形状、线型、灰度深浅配合颜色确保彩色在屏幕上好看、打印出来黑白也能分清。还有一个细节每张图的坐标轴必须标清楚物理量和单位图题要完整这样评委不需要看正文就能理解图的意思。3. 建模思路与算法选型3.1 先跑通baseline再考虑花活美赛的建模环节最怕的不是模型不够高级而是基础模型没跑通就想着上深度学习。我见过不少队伍一上来就上神经网络、XGBoost调参结果数据预处理略有疏漏整个流程卡死最后交了一篇没有结果的论文。正确做法是先花两三个小时跑通一个最简单的baseline比如逻辑回归或决策树确保数据管线的每一步都是通的。Baseline的意义有几个一是确认数据质量如果逻辑回归在清洗后的数据上表现异常差说明前面的处理环节有问题二是提供一个基准分数后面所有模型的改进都要跟它对比不然你无法判断新模型到底有没有变好三是快速产出第一版结果让论文的初稿可以动笔。这里我给出一个简洁的分类建模baseline代码框架适合后续扩展和替换模型import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import classification_report, confusion_matrix # 1. 读取数据与基础清洗 df pd.read_csv(star_data.csv) df df.drop(columns[id, obj_name]) # 删除无意义字段 df df.fillna(df.median()) # 中位数填充缺失值 # 2. 特征与标签分离 # 假设目标列名为 target请根据实际数据调整 X df.drop(columns[target]) y df[target] # 3. 划分训练集与测试集 X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.3, random_state42, stratifyy ) # 4. 标准化对树模型可不做 scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train) X_test_scaled scaler.transform(X_test) # 5. 随机森林建模 rf RandomForestClassifier(n_estimators200, max_depth10, random_state42) rf.fit(X_train_scaled, y_train) y_pred rf.predict(X_test_scaled) # 6. 输出评估结果 print(classification_report(y_test, y_pred)) print(confusion_matrix(y_test, y_pred)) # 7. 输出特征重要性用于后续特征筛选 importance pd.Series(rf.feature_importances_, indexX.columns) print(importance.sort_values(ascendingFalse).head(20))这个代码跑通之后你就有了一份完整的模型结果、特征重要性排序和评估报告。后续无论是换模型、加特征还是做调参都在这套框架上进行迭代就行了。3.2 问题类型决定模型方向分类、回归还是异常检测C题数据经包装后实际建模任务通常是以下几种类型之一每种类型对应的最优解法差异很大我把它们梳理一下。分类问题是最常见的。如果是恒星/星系/类星体的分类建议先试随机森林和XGBoost这两个模型在表格数据上通常表现稳健。如果数据量足够大比如超过十万样本可以尝试简单的神经网络。但要注意深度模型不是美赛必需品不能为了“显得高级”而牺牲可解释性。分类问题上我建议至少跑两个模型做对比一个树模型、一个线性模型这样论文里可以写“对比分析了不同复杂度模型的表现”。回归问题也很常见比如预测星体距离、质量或红移值。回归任务要特别注意评价指标是看MAE还是RMSE不同指标对异常值的敏感度不一样。如果预测目标的分布严重长尾建议先做log变换再回归最后再变换回来。这种处理方式写进论文里显得你考虑到了数据的分布特征。异常检测是容易出彩但难度较高的方向。如果题目问的是“找出可能值得关注的异常星体”你需要先定义什么是“正常”。这通常用无监督方法做比如孤立森林、DBSCAN聚类、自编码器重构误差等。这类问题最大的难点是评价——没有标签你怎么知道找出来的异常是合理的我的建议是找出来后一定要人工看几个案例结合天文学知识解释这些天体特殊在哪里论文里附上几个有说服力的典型案例分析。3.3 误差分析与不确定性美赛评委最喜欢的加分项很多队伍在论文里只写“我们模型的准确率是95%”然后就没了。这在美赛里非常吃亏因为评委看重的是你对结果的深入理解。比较理想的做法是做一个完整的误差分析包括哪些样本被分错了、错在哪里、为什么错、能不能改进。具体操作方法很简单把预测错误的样本单独筛选出来按照特征分布做对比分析。你会发现错分的样本往往集中在特征模糊的区域比如某两个类别的边界处。这时论文里可以写“我们发现大部分误分类样本位于类别A与类别B的特征重叠区域这说明单一观测数据难以完全区分这两类天体未来可以结合更多波段或时域信息进行改进”。这种表述既承认了模型的局限又展示了你对数据理解的深度。如果有条件再做一下不确定性估计。比如用随机森林每棵树的投票比例作为置信度或者用留一法交叉验证的误差分布来估计预测区间。哪怕只是做一个简单的置信度直方图也能让论文的分析层次提高一档。4. 代码实现把想法落地的关键细节4.1 数据加载与预处理代码骨架要稳C题的数据通常不会太干净所以数据加载环节要写得更健壮一些。我一般会做一个统一的预处理函数包含字段类型矫正、缺失值统计、重复值检查和基础统计摘要。这个步骤写的越稳后面越省心。有一个来自实际经验的提醒天体数据的列名经常包含空格、大写字母、特殊符号比如“RA (deg)”“Dec (deg)”这种。直接用pandas读取后列名里带空格会非常麻烦。我建议读取后立即做一次列名清洗统一转换成小写并用下划线替换空格和括号再输出一份字段说明表方便后续写代码时引用。另外一定要保留一份原始数据的副本所有清洗操作都在副本上做。因为你在分析过程中很可能改主意——比如发现删除某列是错的需要重新加载原始数据。如果没有备份就得重新下载或者从缓存中恢复浪费时间还容易出错。# 统一列名清洗示例 import pandas as pd import re df_raw pd.read_csv(star_data.csv) def clean_colnames(col): col col.strip().lower() col re.sub(r[()\#\s], _, col) col re.sub(r_, _, col).strip(_) return col df_raw.columns [clean_colnames(c) for c in df_raw.columns] print(df_raw.columns.tolist()) print(df_raw.describe(includeall).T.head(30))这段代码运行后你会得到一份列名清单和每个字段的统计摘要。接下来做的任何操作都以这个清单为准避免在代码里反复猜列名。4.2 模型训练的高效工作流区分实验与正式训练C题的时间非常紧张只有四天所以代码的效率极其重要。我建议把工作流分成两个阶段探索实验阶段和正式训练阶段。探索实验阶段的目标是快速验证想法比如“加了这个特征后模型有没有变好”。这个阶段不需要跑满全量数据可以采样一部分数据跑或者把交叉验证折数减少用几分钟就能得到结论。正式训练阶段在探索完之后再运行这时候用全量数据、更充分的交叉验证、更细致的参数设置跑一次性的正式结果用于论文。这两个阶段要严格分开不然调试时间会被拖得非常长。我见过不少队伍在同一个脚本里反复改参数重跑结果一晚上过去了还在跑探索实验这种时间管理方式在美赛里是致命的。我自己的习惯是探索实验在Jupyter Notebook里做每一步都输出可视化结果正式训练则写成独立的Python脚本保证可复现还能记录最终的随机种子和参数配置。可复现性这一点值得多说一句。美赛没有硬性要求提交代码运行结果但如果你在论文里写的某个指标到答辩或查重时无法复现会很被动。我的做法是在正式训练的脚本开头固定所有随机种子import numpy as np import pandas as pd import random from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier random.seed(42) np.random.seed(42) X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.2, random_state42, stratifyy ) # 后续如果涉及深度学习还需要固定 torch 或 tf 的种子这样即使隔了一天重新运行得到的结果也完全一致论文里写的数字就是代码能跑出的数字。4.3 结果输出与可视化代码直接生成论文图表比赛的最后一天你肯定会为画图手忙脚乱。所以建议在建模阶段就把所有图表代码写好统一输出为高分辨率图片并且提前设置好适合论文的样式。我一般用matplotlib的rcParams统一样式把字体调大、线条加粗、关闭边框这样生成的图直接就能放进论文里。import matplotlib.pyplot as plt import seaborn as sns # 全局样式设置让输出图直接可用 plt.rcParams[figure.figsize] (10, 6) plt.rcParams[font.size] 12 plt.rcParams[axes.grid] True plt.rcParams[grid.alpha] 0.3 plt.rcParams[lines.linewidth] 2 # 示例绘制相关性热力图并保存 plt.figure() corr df.corr() sns.heatmap(corr, cmapcoolwarm, annotFalse, squareTrue) plt.title(Feature Correlation Matrix) plt.tight_layout() plt.savefig(correlation_matrix.png, dpi300, bbox_inchestight) plt.show()按我的习惯每一个最终出现在论文里的图表对应的生成代码都要放在一个单独的文件里文件命名与图片命名一一对应比如plot_01_hmd.py对应plot_01_hmd.png。这样最后写论文时想调整某张图的颜色或标注只需要改对应的代码文件而不用在一堆notebook里翻找。5. 论文写作与团队协作建模与表达同样重要5.1 美赛论文的硬性结构与内容分配美赛论文有一套不成文的框架评委翻阅速度很快你的结构必须清晰到让他们不用费脑子就能找到想看的内容。正文一般包含问题重述、假设与合理性说明、变量说明、数据预处理、模型建立与求解、模型检验与误差分析、优点缺点与改进方向。这套结构虽然看起来刻板但它是几十年参赛队伍总结出来的“读者友好型”框架不要试图大幅创新。我建议的内容时间分配是这样的数据处理和建模占据前三天论文写作从第一天就开始写而不是最后一天才动笔。很多队伍的错误是最后一天才开始写论文结果前面的分析做得再好也没时间写成有逻辑的文字。更合理的做法是第一天写完引言和数据描述部分第二天写完数据预处理和特征工程部分第三天写完模型和结果部分第四天专门用来写评价、总结和排版。论文里的每个结论都要有数据或图表支撑。写“模型表现良好”这句话时必须跟上具体数字——“在测试集上F1分数从0.73提升到0.89尤其对SN类天体的召回率提升明显”。这种表述评委一看就知道你真的做了分析而不是空话套话。5.2 图表规范一张好图胜过三段话美赛论文的图表质量很大程度上决定了评委的第一印象。我评审过一些模拟赛论文最大的感受是图做得好的论文即使模型简单一些整体分数也不会低。做图有几个核心规范坐标轴必须带物理量和单位图例必须清晰标注每一个类别或参数字号要够大打印缩印后仍然可读每张图都要有独立编号和图题。特别要提醒的是美赛论文打印后通常是黑白的所以图表要避免只靠颜色传达信息。比如散点图的类别可以用三角形、圆圈、方块区分再配合不同灰度折线图的多个序列可以用实线、虚线、点划线区分。如果图里用了颜色也要在正文里说明“红色深灰代表A类蓝色浅灰代表B类”确保黑白打印时读者还能对应上。对于天体数据强烈建议出几张“有故事感”的图。比如用散点图展示聚类结果时把不同类别的天体用不同形状标记出来再把背景的密度分布画成等高线整张图的信息量和美观度都会提升一个档次。这类图放到论文里视觉冲击力很强评委停留的时间越长你得分的机会就越大。5.3 团队分工与时间线避免前松后紧美赛四天时间团队分工合理与否直接决定最终产出质量。最忌讳的是三个人做着做着变成一个人干所有活。我的建议分工是这样的一个人负责数据处理与代码实现一个人负责建模思路与实验设计一个人负责论文写作与图表制作。但这不意味着各干各的前半天必须三个人一起讨论题目和数据形成统一认识之后每天早晚各花半小时同步进展。还有一个容易被忽视的环节是版本管理。四天里你们的代码、论文、图表都会改很多版如果没有版本管理最后提交时很容易用错版本。我强烈建议至少用Git做代码和论文的版本管理每天结束时提交一次当天的进度提交信息写清楚“当天完成了什么”。哪怕只有一个人会Git也没关系由这个人统一负责提交其他人把文件放在共享目录里就行。时间线方面我给一个比较稳妥的参考第一天完成题目理解和数据探索晚上确定问题框架第二天完成特征工程和baseline模型晚上出第一版可视化图表第三天完成主模型和误差分析下午开始写论文初稿第四天上午完成全部论文内容下午花4个小时统一排版、核对图表编号和公式编号预留2小时缓冲处理意外情况。这个节奏执行下来团队基本不会出现最后时刻还在跑模型的窘境。6. 常见问题与排查技巧实录6.1 数据读取慢或内存爆掉怎么办天体数据集有时能达到几十万甚至上百万行直接全量读入可能会让内存亮红灯。遇到这种情况第一选择不是换电脑而是先看数据是不是真的需要全量使用。如果是探索实验可以用pd.read_csv(..., nrows50000)先读一部分数据来跑通流程如果是正式训练可以按需选择字段只读取建模会用到的列。如果数据确实很大且内存不足可以用分块读取配合数据类型优化。天体数据的很多浮点字段默认是float64如果可以接受精度损失转成float32能省一半内存。整数ID字段如果数值范围不大可以转成int32甚至int16。这些优化做下来内存占用通常能下降60%以上。# 数据类型优化示例降低内存占用 df[ra] df[ra].astype(float32) df[dec] df[dec].astype(float32) df[mag_g] df[mag_g].astype(float32)还有一个容易被忽视的坑CSV文件里如果存在大量重复字符串类别字段直接读成object类型会非常占内存。可以用df[col] df[col].astype(category)转成类别类型对内存改善极大。6.2 模型过拟合或欠拟合的判断与调整美赛数据量通常不会太大尤其是某些类别样本很少时过拟合几乎必然发生。判断过拟合的标志是训练集指标远高于测试集比如训练集F1为0.98测试集只有0.75这就是典型的过拟合。针对过拟合我建议按顺序尝试以下几个方法第一用交叉验证替代单次划分数据集至少5折保证评估结果稳定第二限制树模型的深度和叶子节点数量XGBoost里可以调低max_depth、调高min_child_weight或者增大reg_lambda第三适当增加正则惩罚尤其是线性模型和神经网络第四做特征筛选把特征重要性接近零的列去掉。欠拟合的情况相对少见一般是因为数据量太小或者特征不足。如果baseline模型在训练集上都表现很差优先检查数据清洗是不是出了问题——有没有把标签列误删、有没有把重要特征错误编码、有没有在做标准化时把目标变量也一起标准化了。这些低级错误在时间紧张时最容易出现一旦发现代价极大。6.3 队友协作中的典型翻车现场美赛组队翻车往往不是技术问题而是协作问题。最常见的场景是三个人讨论后各有了不同理解结果一晚上过去发现三份代码和文档对不齐。避免这个问题的最好办法是在第一天结束时三个人共同确认一个“题目理解一页纸”把问题的定义、目标变量、评价指标、数据字段含义全写下来后面所有工作都对着这一页纸做。第三个翻车现场是“某个队友突然掉线”比如到了第三天还没写出自己负责的部分。这种情况几乎无法完全避免但可以提前做好缓冲关键内容两个人都会备份论文模板在第一天就搭好代码统一放在共享仓库里。一旦有人掉线其他人至少能接得上。我自己有个小习惯每天结束前三人各用一个词总结今天的感受再各提一条明天的优先级。这个习惯看似简单但能有效避免团队内部信息不对称。美赛比的不是谁个人能力强而是谁的系统更稳定。6.4 论文查重与格式细节说实话美赛对查重越来越重视所有提交的论文都会过查重系统。如果你的论文大量复制网页内容或者往届优秀论文的句子查重率高了会有严重后果。我的建议是参考别人的方法没问题但一定要用自己的语言重新表述连图表都最好重新画一遍。特别是问题重述部分不要直接抄题目的英文表述而是用你自己的理解重新概括。格式方面有一个容易忽略的细节正文里的公式编号、图表编号和引用编号一定要统一。很多人改论文时会删掉某一段导致后面的图表全部错位最后只能在截止前手工修非常痛苦。建议用LaTeX或者Word的交叉引用功能来管理编号而不是手工输入数字。哪怕前期多用半小时配置交叉引用后期也能省回两小时。7. 赛后复盘与经验沉淀比赛结束之后不管成绩如何都值得做一次认真的复盘。我带的队伍里每年都会在赛后整理一份“技术复盘笔记”把四天里踩过的坑、做过的实验、最终的代码和论文全部归档。这份笔记不仅对来年参赛有用对平时的数据科学学习也很有参考价值。我在实际操作中的体会是C题最大的挑战不是数据或模型本身而是如何在不熟悉的天文背景下快速建立有效的数据分析流程。这个过程有些技巧是可以提前准备的比如提前熟悉常见的天文数据格式、了解恒星分类的基本特征、掌握时间序列处理的基本方法。赛前用一天时间做这些准备比临时查资料要高效得多。最后再分享一个小技巧写论文时记住一个原则——让不熟悉你题目的人也能读懂你的逻辑。评委里可能有不懂天文学、不懂数据科学的但如果他们能顺着你的论文清楚地知道你做了什么、为什么这样做、结果如何、有哪些局限那你这篇论文就成功了。美赛的分数很大程度上就是“清晰表达”的分数。
返回列表