分子AI预测赛笔记

Task1

一、跑通baseline

  1. 安装lightgbm库和openpyxl库。
    其中,LightGBM 主要用于高效、快速的梯度提升树模型的训练,适用于大规模数据集和高维数据。Openpyxl 主要用于处理 Excel 文件,包括读取、写入和格式化操作,适用于对 Excel 文件的各种操作需求。
!pip install lightgbm openpyxl
  1. 导入需要使用的库
# 导入 pandas 库,用于数据处理和分析
import pandas as pd
# 导入 numpy 库,用于科学计算和多维数组操作
import numpy as np
# 从 lightgbm 模块中导入 LGBMClassifier 类
from lightgbm import LGBMClassifier
  1. 读取数据(包括训练集和测试集)
# 使用 read_excel() 函数从文件中读取训练集数据,文件名为 'traindata-new.xlsx'
train = pd.read_excel('./data/data280993/traindata-new.xlsx')
# 使用 read_excel() 函数从文件中读取测试集数据,文件名为 'testdata-new.xlsx'
test = pd.read_excel('./data/data280993/testdata-new.xlsx')
  1. 特征工程(这点非常重要)

主要是处理数据,从原始数据中提取出有用的特征,以提升模型的性能。特征工程包括特征选择、特征提取、特征转换和特征创建等多个方面。

# 测试集中不包含 DC50 (nM) 和 Dmax (%),将训练集数据中的DC50 (nM) 和 Dmax (%)删除
train = train.drop(['DC50 (nM)', 'Dmax (%)'], axis=1)

# 将object类型的数据进行目标编码处理
for col in train.columns[2:]:
    if train[col].dtype == object or test[col].dtype == object:
        train[col] = train[col].isnull()
        test[col] = test[col].isnull()
  1. 加载模型并训练模型
# 加载决策树模型进行训练
model = LGBMClassifier(verbosity=-1)
model.fit(train.iloc[:, 2:].values, train['Label'])
pred = model.predict(test.iloc[:, 1:].values, )
  1. 保存模型预测结果
pd.DataFrame(
    {
        'uuid': test['uuid'],
        'Label': pred
    }
).to_csv('submit.csv', index=None)

:::warning
最重要的是理解代码,包括导入的库以及作用、整个代码的流程、数据处理的过程、最后结果的保存。
:::

二、改进baseline

想法:

  1. 填补缺失值:使用SimpleImputer填补缺失值,策略为使用中位数填补。
  2. 数据标准化/归一化:使用StandardScaler标准化数据,使得每个特征具有0均值和1标准差。
  3. 更多参数调优:增加了num_leaves参数,进一步调整模型复杂度。
  4. 更高级的交叉验证策略:使用StratifiedKFold进行分层K折交叉验证,确保每个折中类的分布与原始数据集一致。

三、感悟等

  1. 要对比赛内容进行深入理解。
  2. 要对改进的想法进行尝试。

这个夏令营不简单 #AI夏令营 #Datawhale #夏令营

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值