1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

本题是一个基于 K-最近邻的元学习(Meta-Learning)问题,核心思想是“借鉴相似任务的经验来选择超参数”。

整体流程分为四步:

  1. 特征构造:计算当前任务的元向量m∗ctr=[n, d, ∣n∗pos−nneg∣n].\mathbf{m}*{ctr} = \left[n,\ d,\ \frac{|n*{pos}-n_{neg}|}{n}\right].m∗ctr=[n, d, n∣n∗pos−nneg​∣​].

P4834.第3题-用历史数据挑选 Logistic C

    1000ms Tried: 24 Accepted: 5 Difficulty: 5 所属公司 : 携程

题目内容

给定一张历史元数据表(每行包含数据集简单特征 & 其在线最优C)、以及一份当前任务的训练/测试数据,请实现一个基于 K-NN 的超参数元学习器:

  1. 数据集元特征 对每个数据集都计算三维向量:

    m=[samples,features,imbalance]\mathbf{m} = [\text{samples}, \text{features}, \text{imbalance}]m=[samples,features,imbalance]

    其中

    • samplessamplessamples:训练样本数 nnn
    • featuresfeaturesfeatures:特征维度 ddd
    • imbalanceimbalanceimbalance:∣npos−nneg∣/n|n_{pos} - n_{neg}| / n∣npos​−nneg​∣/n
  2. K最近邻检索

    • 输入给出 historyhistoryhistory:每行 meta=mhmeta = m_hmeta=mh​、CCC、scorescorescore(越大越好)。
    • 计算当前任务元向量 mctr\mathbf{m}_{ctr}mctr​ 到所有历史数据的 ℓ2\ell_2ℓ2​ 距离;
    • 取 K=3K=3K=3 个最近邻;如距离并列按行次序决定。
  3. 汇聚与选 C*

    • 对这 333 行,统计所有出现过的 CCC;
    • 计算各 CCC 的平均 scorescorescore(若某邻居中未出现该 CCC,则忽略);
    • 取平均分最高者为 CCC*;若并列,则取数值最小。
  4. 模型训练 + 预测

    • 使用 LogisticRegression(penalty="l2",C=CLogisticRegression(penalty="l2", C=CLogisticRegression(penalty="l2",C=C*, solver="lbfgs",maxiter=1000,randomstate=42)solver="lbfgs", max_{iter}=1000, random_{state}=42)solver="lbfgs",maxiter​=1000,randomstate​=42)
    • 用完整训练数据拟合;输出测试集标签。

输入描述

单行 JSONJSONJSON(示例片段)

{
  "train_X": [[1.0,2.0], ...],
  "train_y": [0, 1, ...],
  "test_X": [[...], ...],
  "history": [
    {"meta": [50, 4, 0.10], "C": 0.1, "score": 0.80},
    {"meta": [120, 2, 0.25], "C": 1.0, "score": 0.85},
    ...
  ]
}

约束:

  • ∣train∣≤60, ∣test∣≤15, d≤4|\text{train}| \le 60,\ |\text{test}| \le 15,\ d \le 4∣train∣≤60, ∣test∣≤15, d≤4
  • historyhistoryhistory 至少 666 条,CCC 取值 {0.1,0.3,1,3,10}\{0.1, 0.3, 1, 3, 10\}{0.1,0.3,1,3,10}
  • 所有值数值型,无缺失

输出描述

仅一行:

{
  "C_star": 1.0,
  "pred": [0, 1, 0, ...]
}

predpredpred 长度 = ∣testX∣|\text{test}_X|∣testX​∣,元素为 0/10/10/1。

补充说明

  1. 不得重新搜索其它 CCC;只能通过步骤 2−32-32−3 得到 CCC*。

  2. 所有随机源固定 randomstate=42random_state=42randoms​tate=42,流程纯确定性。

  3. 为了确保通过测试用例,仅允许使用 numpynumpynumpy、pandaspandaspandas、scikit−learnscikit-learnscikit−learn。

样例1

输入

{
 "train_X": [[0.0,0.0],[0.2,0.4],[0.3,0.5],[0.1,0.2],[1.0,1.1],[1.2,1.3],[1.3,1.4],[1.1,1.0]],
 "train_y": [0,0,0,0,1,1,1,1],
 "test_X": [[0.15,0.25],[1.15,1.25]],
 "history": [
{"meta":[50,2,0.10],"C":0.1,"score":0.82},
{"meta":[48,2,0.20],"C":0.3,"score":0.79},
{"meta":[60,2,0.00],"C":1.0,"score":0.85},
{"meta":[40,4,0.30],"C":3.0,"score":0.80},
{"meta":[55,3,0.18],"C":0.3,"score":0.83},
{"meta":[52,2,0.10],"C":1.0,"score":0.81},
{"meta":[58,2,0.05],"C":10.0,"score":0.78}
 ]
}

输出

{"C_star": 0.1,"pred": [0, 1]}

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 148ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?