分子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技术有了更深入的了解,还激发了我对未来科研的无限憧憬。