XGBoost QSAR Regresyon Modeli (Morgan Fingerprints)

Bu model, moleküler SMILES dizilerini girdi olarak alıp bir 'value' (örn. pIC50, aktivite) değerini tahmin etmek için eğitilmiş bir XGBoost Regresörüdür.

📈 Model Performansı (Test Seti)

Model, temizlenmiş veri setinin %20'si üzerinde test edilmiştir:

  • R-squared (R²): 0.8795
  • RMSE: 38.6370
  • MSE: 1492.8184

⚙️ Model Mimarisi

  • Model Tipi: XGBRegressor
  • Öznitelikler: Morgan Fingerprints (radius=3, n_bits=2048)
  • Eğitim Verisi: 8364 geçerli molekül
  • Hiperparametreler:
    • n_estimators: 527
    • max_depth: 11
    • learning_rate: 0.0823
    • subsample: 0.9728
    • colsample_bytree: 0.7048

🚀 Modeli Kullanma (Python)

Modeli yüklemek ve tahmin yapmak için huggingface_hub, joblib ve rdkit gerekir.

import joblib
import numpy as np
from huggingface_hub import hf_hub_download
from rdkit import Chem
from rdkit.Chem import AllChem

# --- Gerekli fonksiyonlar ---
def get_morgan_fp(smiles, radius=3, n_bits=2048):
    mol = Chem.MolFromSmiles(smiles)
    if mol is None:
        return np.zeros((n_bits,), dtype=int)
    fp = AllChem.GetMorganFingerprintAsBitVect(mol, radius, nBits=n_bits)
    return np.array(fp)

# --- Model ve ön işleyiciyi yükle ---
REPO_ID = "BURAYA-REPO-ID-GELECEK" # Örn: "kullanici-adi/model-adi"
MODEL_FILE = "xgb_morgan_regressor.joblib"

model_path = hf_hub_download(repo_id=REPO_ID, filename=MODEL_FILE)
model = joblib.load(model_path)

print("Model başarıyla yüklendi.")

# --- Tahmin yapma ---
smiles_list = ["CCO", "c1ccccc1O"]
fingerprints = np.array([get_morgan_fp(s) for s in smiles_list])

predictions = model.predict(fingerprints)
print(f"Tahminler: {predictions}")
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support