零基础入门AI(机器学习)竞赛-速通学习手册学习体会

任务要求:
选手根据提供的demo数据集,可以基于demo数据集进行数据增强、自行搜集数据等方式扩充数据集,并自行划分数据。运用深度学习、强化学习或更加优秀人工智能的方法预测PROTACs的降解能力,若DC50>100nM且Dmax<80% ,则视为降解能力较差(demo数据集中Label=0);若DC50<=100nM或Dmax>=80%,则视为降解能力好(demo数据集中Label=1)。

评价指标:
本次竞赛的评价标准采用f1_score,分数越高,效果越好

项目链接:https://aistudio.baidu.com/projectdetail/8094146sUid=4890304&shared=1&ts=1719315147213

解决思路:

  1. 导入库:首先,导入需要用到的库,包括 pandas(用于数据处理和分析)和 LGBMClassifier(决策树分类器)等。
  2. 读取数据:代码通过使用 pd.read_excel 函数从文件中读取训练集和测试集数据,并将其存储在 traindata-new.xlsx 和 testdata-new.xlsx 两个数据框中。
  3. 特征工程:
    • test数据不包含 DC50 (nM) 和 Dmax (%),将train数据中的 DC50 (nM) 和 Dmax (%)删除。
  4. LGB树模型训练和预测:
    • 创建了一个 LGBMClassifier 的实例,即LGB分类器。
    • 使用 fit 函数对训练集中的特征和目标进行拟合,训练了决策树模型。
    • 对测试集使用已训练的模型进行预测,得到预测结果。
    • 将预测结果和相应的 uuid 组成一个DataFrame,并将其保存到 submit.csv 文件中。
# 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)

学习来源:
https://datawhaler.feishu.cn/wiki/Ue7swBbiJiBhsdk5SupcqfL7nLX

#datawhale

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值