当前位置:   article > 正文

Datawhale机器学习day-1

Datawhale机器学习day-1

赛题

        在当今科技日新月异的时代,人工智能(AI)技术正以前所未有的深度和广度渗透到科研领域,特别是在化学及药物研发中展现出了巨大潜力。精准预测分子性质有助于高效筛选出具有优异性能的候选药物。以PROTACs为例,它是一种三元复合物由目标蛋白配体、linker、E3连接酶配体组成,靶向降解目标蛋白质。本次大赛聚焦于运用先进的人工智能算法预测其降解效能,旨在激发参赛者创新思维,推动AI技术与化学生物学的深度融合,进一步提升药物研发效率与成功率,为人类健康事业贡献智慧力量。通过此次大赛,我们期待见证并孵化出更多精准、高效的分子性质预测模型,共同开启药物发现的新纪元。

赛题分析

【训练分子性质分类预测模型】

运用深度学习、强化学习或更加优秀人工智能的方法预测PROTACs的降解能力,

分类为 降解能力较差/降解能力好 两种结论

评价指标

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

处理流程

     在解决机器学习问题时,一般会遵循以下流程:   

思考:这里为什么选择机器学习算法?为什么不考虑深度学习?

        在许多机器学习问题中,特征工程的重要性不容忽视。如果特征工程能够充分捕捉数据的关键特征,那么机器学习算法也能够表现很好。深度学习在某种程度上可以自动学习特征,但对于特定问题,手动设计特征可能会更有效。

思考:这里从逻辑回归和决策树中选择,哪一个模型更加合适?

  • 决策树能够处理非线性关系,并且可以自动捕获特征之间的交互作用。

  • 它可以生成可解释的规则,有助于理解模型如何做出决策。

  • 决策树能够处理不同类型的特征,包括分类和数值型。

代码:

  1. # 1. 导入需要用到的相关库
  2. # 导入 pandas 库,用于数据处理和分析
  3. import pandas as pd
  4. # 导入 numpy 库,用于科学计算和多维数组操作
  5. import numpy as np
  6. # 从 lightgbm 模块中导入 LGBMClassifier 类
  7. from lightgbm import LGBMClassifier
  8. # 2. 读取训练集和测试集
  9. # 使用 read_excel() 函数从文件中读取训练集数据,文件名为 'traindata-new.xlsx'
  10. train = pd.read_excel('./data/data280993/traindata-new.xlsx')
  11. # 使用 read_excel() 函数从文件中读取测试集数据,文件名为 'testdata-new.xlsx'
  12. test = pd.read_excel('./data/data280993/testdata-new.xlsx')
  13. # 3 特征工程
  14. # 3.1 test数据不包含 DC50 (nM) 和 Dmax (%),将train数据中的DC50 (nM) 和 Dmax (%)删除
  15. train = train.drop(['DC50 (nM)', 'Dmax (%)'], axis=1)
  16. # 3.2 将object类型的数据进行目标编码处理
  17. for col in train.columns[2:]:
  18. if train[col].dtype == object or test[col].dtype == object:
  19. train[col] = train[col].isnull()
  20. test[col] = test[col].isnull()
  21. # 4. 加载决策树模型进行训练
  22. model = LGBMClassifier(verbosity=-1)
  23. model.fit(train.iloc[:, 2:].values, train['Label'])
  24. pred = model.predict(test.iloc[:, 1:].values, )
  25. # 5. 保存结果文件到本地
  26. pd.DataFrame(
  27. {
  28. 'uuid': test['uuid'],
  29. 'Label': pred
  30. }
  31. ).to_csv('submit.csv', index=None)

处理流程

  1. 导入库:首先,导入需要用到的库,包括 pandas(用于数据处理和分析)和 LGBMClassifier(决策树分类器)等。

  2. 读取数据:代码通过使用 pd.read_excel 函数从文件中读取训练集和测试集数据,并将其存储在 traindata-new.xlsxtestdata-new.xlsx 两个数据框中。

  3. 特征工程

- test数据不包含 DC50 (nM) Dmax (%),将train数据中的 DC50 (nM) Dmax (%)删除。

        4.LGB树模型训练和预测

- 创建了一个 LGBMClassifier 的实例,即LGB分类器。

- 使用 fit 函数对训练集中的特征和目标进行拟合,训练了决策树模型。

- 对测试集使用已训练的模型进行预测,得到预测结果。

- 将预测结果和相应的 uuid 组成一个DataFrame,并将其保存到 submit.csv 文件中。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号