分子AI预测赛Task1笔记

发布于:2024-07-02 ⋅ 阅读:(12) ⋅ 点赞:(0)

分子AI预测赛Task1笔记

实践步骤:跑通baseline → 尝试个人idea→尝试进阶baseline

一、跑通baseline

1、应当先下载数据库

下载相应的数据库

!pip install lightgbm openpyxl

2、训练模型并预测结果

首先要导入相应的库和方法类,如pandas等

# 1. 导入需要用到的相关库
# 导入 pandas 库,用于数据处理和分析
import pandas as pd
# 导入 numpy 库,用于科学计算和多维数组操作
import numpy as np
# 从 lightgbm 模块中导入 LGBMClassifier 类
from lightgbm import LGBMClassifier

之后进行读取训练集和测试集

 #2. 读取训练集和测试集
# 使用 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')

然后进行特征处理,将数据整理

# 3 特征工程
# 3.1 test数据不包含 DC50 (nM) 和 Dmax (%),将train数据中的DC50 (nM) 和 Dmax (%)删除
train = train.drop(['DC50 (nM)', 'Dmax (%)'], axis=1)

# 3.2 将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()

再然后加载决策树

 4. 加载决策树模型进行训练
model = LGBMClassifier(verbosity=-1)
model.fit(train.iloc[:, 2:].values, train['Label'])
pred = model.predict(test.iloc[:, 1:].values, )

最后保存结果

# 5. 保存结果文件到本地
pd.DataFrame(
    {
        'uuid': test['uuid'],
        'Label': pred
    }
).to_csv('submit.csv', index=None)

3、导出结果

将结果下载下来,上传到赛题

二、构思idea,改进baseline

在数据上,可以对数据进行进一步的清洗,剔除异常值;将数据进行多折交叉验证;增加数据的数量(使用模型预测构建)
在算法上, 可以采用一些效果更好的算法,比如 XGBoost。采用 网格搜索法、 flaml等寻参工具对参数进行优化调整。

三、封存思想精华,个人感悟,学习记录都ok

通过学习,真切感受到AI的神奇,参与分子AI预测测试题是一次非常有价值的体验。它不仅让我对分子科学和AI技术有了更深入的了解,还激发了我对未来科研的无限憧憬。

网站公告

今日签到

点亮在社区的每一天
去签到