--- library_name: sklearn # Joblib ile kaydedilen modeller için standart tags: - xgboost - qsar - regression - cheminformatics - morgan-fingerprint --- # 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. ```python 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}")