Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

Bin-Cao/Bgolearn

Repository files navigation

Bgolearn
Bgolearn

🤝🤝🤝 Please star ⭐️ it for promoting open source projects 🌍 ! Thanks ! For inquiries or assistance, please don't hesitate to contact us at bcao686@connect.hkust-gz.edu.cn (Dr. CAO Bin).

Bgolearn has been implemented in the machine learning platform MLMD. Bgolearn Code : here The video of Bgolearn has been uploaded to platforms : BiliBili. YouTube.

Screenshot 2023-11-16 at 11 23 35

Python package - Bgolearn

No gradient information is used plot

Installing / 安装

pip install Bgolearn 

Checking / 查看

pip show Bgolearn 

Updating / 更新

pip install --upgrade Bgolearn

Template

# import BGOsampling after installation 
# 安装后, 通过此命令调用BGOsampling类
import Bgolearn.BGOsampling as BGOS

# import your dataset (Samples have been characterized)
# 导入研究的数据集(已经表征过的样本)
data = pd.read_csv('data.csv') 
# features 
x = data.iloc[:,:-1]
# response / target 
y = data.iloc[:,-1]

# virtual samples which have same feature dimension with x
# 设计的虚拟样本, 与x具有相同的维度
vs = pd.read_csv('virtual_data.csv') 

# instantiate class
# 实例化类 Bgolearn
Bgolearn = BGOS.Bgolearn() 

# Pass parameters to the function
# 传入参数
Mymodel = Bgolearn.fit(data_matrix = x, Measured_response = y, virtual_samples = vs)

# derive the result by EI
# 通过EI导出结果
Mymodel.EI()

Multi-task design

pip install BgoKit 
from BgoKit import ToolKit
# vs is the virtual samples
# score_1,score_2 are output of Bgolearn
# score_1, _= Mymodel_1.EI() ; score_2, _= Mymodel_2.EI()

Model = ToolKit.MultiOpt(vs,[score_1,score_2])
Model.BiSearch()
Model.plot_distribution()

See : Link 1

cite

1: Cao B., Su T, Yu S, Li T, Zhang T, Zhang J, Dong Z, Zhang Ty. Active learning accelerates the discovery of high strength and high ductility lead-free solder alloys, Materials & Design, 2024, 112921, ISSN 0264-1275, https://doi.org/10.1016/j.matdes.2024.112921.

2: Ma J.∔, Cao B.∔, Dong S, Tian Y, Wang M, Xiong J, Sun S. MLMD: a programming-free AI platform to predict and design materials. npj Comput Mater 10, 59 (2024). https://doi.org/10.1038/s41524-024-01243-4

About / 更多

Maintained by Bin Cao. Please feel free to open issues in the Github or contact Bin Cao (bcao686@connect.hkust-gz.edu.cn) in case of any problems/comments/suggestions in using the code.

Contributing / 共建

Contribution and suggestions are always welcome. In addition, we are also looking for research collaborations. You can submit issues for suggestions, questions, bugs, and feature requests, or submit pull requests to contribute directly. You can also contact the authors for research collaboration.

for regression

  • 1.Expected Improvement algorith (期望提升函数)

  • 2.Expected improvement with “plugin” (有“plugin”的期望提升函数)

  • 3.Augmented Expected Improvement (增广期望提升函数)

  • 4.Expected Quantile Improvement (期望分位提升函数)

  • 5.Reinterpolation Expected Improvement (重插值期望提升函数)

  • 6.Upper confidence bound (高斯上确界函数)

  • 7.Probability of Improvement (概率提升函数)

  • 8.Predictive Entropy Search (预测熵搜索函数)

  • 9.Knowledge Gradient (知识梯度函数)

for classification

  • 1.Least Confidence (欠信度函数)

  • 2.Margin Sampling (边界函数)

  • 3.Entropy-based approach (熵索函数)