{"id":41561,"date":"2026-05-03T17:01:38","date_gmt":"2026-05-03T14:01:38","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=41561"},"modified":"2026-05-03T17:01:38","modified_gmt":"2026-05-03T14:01:38","slug":"scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/","title":{"rendered":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Makine \u00f6\u011frenimi, g\u00fcn\u00fcm\u00fcz\u00fcn veri odakl\u0131 d\u00fcnyas\u0131nda karar verme s\u00fcre\u00e7lerini otomatikle\u015ftirmek ve \u00f6ng\u00f6r\u00fclerde bulunmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir. Bu geni\u015f alan\u0131n temel ta\u015flar\u0131ndan biri de s\u0131n\u0131fland\u0131rma algoritmalar\u0131d\u0131r. S\u0131n\u0131fland\u0131rma, bir veri noktas\u0131n\u0131n hangi kategoriye ait oldu\u011funu tahmin etme g\u00f6revidir. \u00d6rne\u011fin, bir e-postan\u0131n spam olup olmad\u0131\u011f\u0131, bir m\u00fc\u015fterinin \u00fcr\u00fcn\u00fc sat\u0131n al\u0131p almayaca\u011f\u0131 veya bir t\u00fcm\u00f6r\u00fcn iyi huylu mu k\u00f6t\u00fc huylu mu oldu\u011fu gibi ikili (binary) se\u00e7imler, s\u0131n\u0131fland\u0131rma problemlerine g\u00fczel \u00f6rneklerdir. \u0130\u015fte tam da bu noktada Lojistik Regresyon devreye girer. Ad\u0131nda &#8220;regresyon&#8221; kelimesi ge\u00e7se de, Lojistik Regresyon asl\u0131nda bir s\u0131n\u0131fland\u0131rma algoritmas\u0131d\u0131r ve \u00f6zellikle ikili s\u0131n\u0131fland\u0131rma g\u00f6revleri i\u00e7in olduk\u00e7a g\u00fc\u00e7l\u00fc ve yorumlanabilir bir model sunar.<\/p>\n<p>Bu makale, Lojistik Regresyon&#8217;un temel teorik prensiplerinden Scikit-Learn k\u00fct\u00fcphanesi ile nas\u0131l uygulanaca\u011f\u0131na, modelin nas\u0131l de\u011ferlendirilece\u011fine ve performans\u0131n\u0131n nas\u0131l optimize edilece\u011fine dair kapsaml\u0131 bir rehber sunmaktad\u0131r. Scikit-Learn, Python ekosistemindeki en pop\u00fcler makine \u00f6\u011frenimi k\u00fct\u00fcphanelerinden biridir ve Lojistik Regresyon gibi bir\u00e7ok algoritmay\u0131 kolayca kullanmam\u0131z\u0131 sa\u011flar. Bu rehberin sonunda, Lojistik Regresyon&#8217;u hem teorik hem de pratik d\u00fczeyde derinlemesine anlam\u0131\u015f ve kendi veri setlerinizde etkili bir \u015fekilde uygulayabilir hale gelmi\u015f olacaks\u0131n\u0131z.<\/p>\n<h3>Temel Kavramlar ve Teorik Arka Plan<\/h3>\n<p>Lojistik Regresyon&#8217;u tam olarak anlamak i\u00e7in, alt\u0131nda yatan baz\u0131 temel matematiksel ve istatistiksel kavramlar\u0131 kavramak \u00f6nemlidir.<\/p>\n<h4>Regresyon mu S\u0131n\u0131fland\u0131rma m\u0131?<\/h4>\n<p>Ad\u0131n\u0131n aksine, Lojistik Regresyon bir s\u0131n\u0131fland\u0131rma algoritmas\u0131d\u0131r. Geleneksel Do\u011frusal Regresyon, s\u00fcrekli bir \u00e7\u0131kt\u0131 de\u011fi\u015fkenini tahmin etmeye \u00e7al\u0131\u015f\u0131rken (\u00f6rne\u011fin, ev fiyatlar\u0131), Lojistik Regresyon, bir olay\u0131n ger\u00e7ekle\u015fme olas\u0131l\u0131\u011f\u0131n\u0131 tahmin eder ve bu olas\u0131l\u0131\u011f\u0131 belirli bir e\u015fik de\u011feri \u00fczerinden bir s\u0131n\u0131f etiketi olarak yorumlar. Yani, \u00e7\u0131kt\u0131s\u0131 0 ile 1 aras\u0131nda bir olas\u0131l\u0131k de\u011feri olup, bu de\u011fer daha sonra ikili bir s\u0131n\u0131fland\u0131rma (\u00f6rne\u011fin, &#8220;evet&#8221; veya &#8220;hay\u0131r&#8221;) i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>Sigmoid Fonksiyonu (Lojistik Fonksiyon)<\/h4>\n<p>Lojistik Regresyon&#8217;un kalbinde Sigmoid (veya Lojistik) fonksiyonu yer al\u0131r. Bu fonksiyon, herhangi bir ger\u00e7ek say\u0131y\u0131 0 ile 1 aras\u0131nda bir olas\u0131l\u0131k de\u011ferine d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. Matematiksel olarak \u015fu \u015fekilde ifade edilir:<\/p>\n<p>$h(z) = 1 \/ (1 + e^{-z})$<\/p>\n<p>Burada $z$, ba\u011f\u0131ms\u0131z de\u011fi\u015fkenlerin do\u011frusal bir kombinasyonudur (t\u0131pk\u0131 do\u011frusal regresyonda oldu\u011fu gibi): $z = b_0 + b_1x_1 + b_2x_2 + &#8230; + b_nx_n$. Sigmoid fonksiyonu, $z$ de\u011feri ne kadar b\u00fcy\u00fck olursa olsun, \u00e7\u0131kt\u0131y\u0131 1&#8217;e yakla\u015ft\u0131r\u0131r; $z$ de\u011feri ne kadar k\u00fc\u00e7\u00fck olursa olsun, \u00e7\u0131kt\u0131y\u0131 0&#8217;a yakla\u015ft\u0131r\u0131r. Bu \u00f6zellik, onu olas\u0131l\u0131klar\u0131 modellemek i\u00e7in ideal k\u0131lar.<\/p>\n<h4>Karar S\u0131n\u0131r\u0131 (Decision Boundary)<\/h4>\n<p>Sigmoid fonksiyonu bize bir olas\u0131l\u0131k de\u011feri verir (\u00f6rne\u011fin, %70 bir olay\u0131n ger\u00e7ekle\u015fme olas\u0131l\u0131\u011f\u0131). Ancak s\u0131n\u0131fland\u0131rma i\u00e7in bir s\u0131n\u0131f etiketi (0 veya 1) elde etmemiz gerekir. Bu d\u00f6n\u00fc\u015f\u00fcm, bir karar s\u0131n\u0131r\u0131 (decision boundary) kullan\u0131larak yap\u0131l\u0131r. Genellikle bu e\u015fik de\u011feri 0.5 olarak belirlenir. E\u011fer tahmin edilen olas\u0131l\u0131k 0.5&#8217;ten b\u00fcy\u00fckse, model olay\u0131 pozitif s\u0131n\u0131f olarak (\u00f6rne\u011fin, 1), 0.5&#8217;ten k\u00fc\u00e7\u00fckse negatif s\u0131n\u0131f olarak (\u00f6rne\u011fin, 0) s\u0131n\u0131fland\u0131r\u0131r. Bu karar s\u0131n\u0131r\u0131, \u00f6zellik uzay\u0131nda bir do\u011fru, d\u00fczlem veya hiperd\u00fczlem \u015feklinde olabilir. Lojistik Regresyon&#8217;un temel varsay\u0131m\u0131, bu karar s\u0131n\u0131r\u0131n\u0131n do\u011frusal oldu\u011fudur.<\/p>\n<h4>Maliyet Fonksiyonu (Cost Function)<\/h4>\n<p>Makine \u00f6\u011frenimi modelleri, tahminleri ile ger\u00e7ek de\u011ferler aras\u0131ndaki fark\u0131 en aza indirmek i\u00e7in bir maliyet fonksiyonunu optimize eder. Do\u011frusal regresyonda Ortalama Kare Hata (Mean Squared Error &#8211; MSE) kullan\u0131l\u0131rken, Lojistik Regresyon&#8217;da MSE uygun de\u011fildir \u00e7\u00fcnk\u00fc Sigmoid fonksiyonunun do\u011frusal olmayan yap\u0131s\u0131 nedeniyle maliyet fonksiyonu d\u0131\u015fb\u00fckey (convex) olmaz ve birden fazla yerel minimuma sahip olabilir. Bu durum, gradyan ini\u015fi gibi optimizasyon algoritmalar\u0131n\u0131n k\u00fcresel minimumu bulmas\u0131n\u0131 zorla\u015ft\u0131r\u0131r.<\/p>\n<p>Bunun yerine, Lojistik Regresyon&#8217;da \u00c7apraz Entropi (Cross-Entropy) veya Log Kayb\u0131 (Log Loss) ad\u0131 verilen bir maliyet fonksiyonu kullan\u0131l\u0131r. Bu fonksiyon, modelin tahmin etti\u011fi olas\u0131l\u0131k ile ger\u00e7ek s\u0131n\u0131f etiketi aras\u0131ndaki fark\u0131 \u00f6l\u00e7er ve d\u0131\u015fb\u00fckeydir, bu da k\u00fcresel minimumun kolayca bulunabilece\u011fi anlam\u0131na gelir.<\/p>\n<p>$J(\\theta) = -1\/m \\sum_{i=1}^{m} [y^{(i)} \\log(h_{\\theta}(x^{(i)})) + (1 &#8211; y^{(i)}) \\log(1 &#8211; h_{\\theta}(x^{(i)}))]$<\/p>\n<p>Burada $y^{(i)}$ ger\u00e7ek s\u0131n\u0131f etiketi, $h_{\\theta}(x^{(i)})$ ise modelin tahmin etti\u011fi olas\u0131l\u0131kt\u0131r. Ama\u00e7, bu maliyet fonksiyonunu minimize etmektir.<\/p>\n<h4>Gradyan \u0130ni\u015fi (Gradient Descent)<\/h4>\n<p>Maliyet fonksiyonunu minimize etmek i\u00e7in Gradyan \u0130ni\u015fi algoritmas\u0131 kullan\u0131l\u0131r. Bu algoritma, maliyet fonksiyonunun parametrelere g\u00f6re k\u0131smi t\u00fcrevlerini (gradyanlar\u0131n\u0131) hesaplayarak, parametreleri maliyetin en h\u0131zl\u0131 azald\u0131\u011f\u0131 y\u00f6nde iteratif olarak g\u00fcnceller. Her ad\u0131mda, parametreler (katsay\u0131lar ve sabit terim) g\u00fcncellenir ve bu i\u015flem maliyet fonksiyonu minimuma ula\u015fana veya belirli bir iterasyon say\u0131s\u0131na ula\u015fana kadar devam eder.<\/p>\n<h3>Scikit-Learn ile Lojistik Regresyon Uygulamas\u0131<\/h3>\n<p>Scikit-Learn, Lojistik Regresyon&#8217;u uygulamak i\u00e7in son derece basit ve g\u00fc\u00e7l\u00fc bir aray\u00fcz sunar. \u0130\u015fte ad\u0131m ad\u0131m uygulama s\u00fcreci:<\/p>\n<h4>Veri Seti Haz\u0131rl\u0131\u011f\u0131<\/h4>\n<p>Her makine \u00f6\u011frenimi projesinin ilk ad\u0131m\u0131 veri haz\u0131rl\u0131\u011f\u0131d\u0131r. Bu, veriyi y\u00fcklemeyi, temizlemeyi, \u00f6n i\u015flemeyi ve e\u011fitim ile test setlerine ay\u0131rmay\u0131 i\u00e7erir.<\/p>\n<pre><code class=\"language-python\">import pandas as pd\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.datasets import load_breast_cancer # \u00d6rnek bir veri seti\n\n<h2>Veri setini y\u00fckle<\/h2>\ndata = load_breast_cancer()\nX = pd.DataFrame(data.data, columns=data.feature_names)\ny = pd.Series(data.target)\n\n<h2>Veriyi e\u011fitim ve test setlerine ay\u0131r<\/h2>\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42, stratify=y)\n\n<h2>\u00d6zellik \u00f6l\u00e7eklendirme (Gradient Descent tabanl\u0131 algoritmalar i\u00e7in \u00f6nemlidir)<\/h2>\nscaler = StandardScaler()\nX_train_scaled = scaler.fit_transform(X_train)\nX_test_scaled = scaler.transform(X_test)<\/code><\/pre>\n<p>Bu ad\u0131mda, <code>load_breast_cancer<\/code> veri setini kulland\u0131k. Bu veri seti, g\u00f6\u011f\u00fcs kanseri te\u015fhisi i\u00e7in kullan\u0131lan \u00e7e\u015fitli \u00f6zelliklere ve iki s\u0131n\u0131fa (iyi huylu veya k\u00f6t\u00fc huylu) sahiptir. <code>train_test_split<\/code> ile veriyi %70 e\u011fitim, %30 test olarak ay\u0131rd\u0131k ve <code>stratify=y<\/code> parametresi ile s\u0131n\u0131flar\u0131n da\u011f\u0131l\u0131m\u0131n\u0131n hem e\u011fitim hem de test setlerinde korunmas\u0131n\u0131 sa\u011flad\u0131k. <code>StandardScaler<\/code> ile \u00f6zellikleri standartla\u015ft\u0131rd\u0131k, bu da gradyan ini\u015fi tabanl\u0131 algoritmalar\u0131n daha h\u0131zl\u0131 ve kararl\u0131 bir \u015fekilde yak\u0131nsamas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Model Olu\u015fturma ve E\u011fitme<\/h4>\n<p>Veri haz\u0131rland\u0131ktan sonra, Lojistik Regresyon modelini olu\u015fturmak ve e\u011fitmek olduk\u00e7a basittir.<\/p>\n<pre><code class=\"language-python\">from sklearn.linear_model import LogisticRegression\n\n<h2>Modeli olu\u015ftur<\/h2>\nmodel = LogisticRegression(random_state=42)\n\n<h2>Modeli e\u011fitim verisiyle e\u011fit<\/h2>\nmodel.fit(X_train_scaled, y_train)<\/code><\/pre>\n<p><code>LogisticRegression<\/code> s\u0131n\u0131f\u0131n\u0131 <code>sklearn.linear_model<\/code> mod\u00fcl\u00fcnden import ettik. <code>random_state<\/code> parametresi, modelin e\u011fitim s\u00fcrecindeki rastgelelikleri kontrol ederek sonu\u00e7lar\u0131n tekrarlanabilir olmas\u0131n\u0131 sa\u011flar. <code>fit()<\/code> metodu, modelin e\u011fitim verileri \u00fczerinde \u00f6\u011frenmesini sa\u011flar.<\/p>\n<h4>Tahmin Yapma<\/h4>\n<p>E\u011fitilmi\u015f model ile test verileri \u00fczerinde tahminler yapabiliriz.<\/p>\n<pre><code class=\"language-python\"># S\u0131n\u0131f etiketlerini tahmin et\ny_pred = model.predict(X_test_scaled)\n\n<h2>Olas\u0131l\u0131klar\u0131 tahmin et (her s\u0131n\u0131f i\u00e7in)<\/h2>\ny_pred_proba = model.predict_proba(X_test_scaled)<\/code><\/pre>\n<p><code>predict()<\/code> metodu, her bir test \u00f6rne\u011fi i\u00e7in do\u011frudan s\u0131n\u0131f etiketini (0 veya 1) d\u00f6nd\u00fcr\u00fcr. <code>predict_proba()<\/code> metodu ise, her bir test \u00f6rne\u011fi i\u00e7in her s\u0131n\u0131f\u0131n olas\u0131l\u0131klar\u0131n\u0131 i\u00e7eren bir dizi d\u00f6nd\u00fcr\u00fcr. Bu olas\u0131l\u0131klar, modelin tahminlerine olan g\u00fcvenini anlamak ve ROC e\u011frisi gibi de\u011ferlendirme metrikleri i\u00e7in \u00f6nemlidir.<\/p>\n<h3>Model De\u011ferlendirme Metrikleri<\/h3>\n<p>Bir s\u0131n\u0131fland\u0131rma modelinin performans\u0131n\u0131 de\u011ferlendirmek i\u00e7in sadece do\u011fruluk (accuracy) yeterli de\u011fildir. \u00d6zellikle dengesiz veri k\u00fcmelerinde (bir s\u0131n\u0131f\u0131n di\u011ferine g\u00f6re \u00e7ok daha fazla \u00f6rne\u011fe sahip oldu\u011fu durumlar), daha detayl\u0131 metrikler kullanmak gerekir.<\/p>\n<h4>S\u0131n\u0131fland\u0131rma Metriklerine Giri\u015f<\/h4>\n<p>S\u0131n\u0131fland\u0131rma modellerini de\u011ferlendirirken, modelin hem pozitif hem de negatif s\u0131n\u0131flar\u0131 ne kadar iyi tahmin etti\u011fini anlamak kritik \u00f6neme sahiptir.<\/p>\n<h4>Do\u011fruluk (Accuracy)<\/h4>\n<p>Do\u011fruluk, do\u011fru tahmin edilen \u00f6rneklerin toplam \u00f6rnek say\u0131s\u0131na oran\u0131d\u0131r.<\/p>\n<p>$Accuracy = (Do\u011fru Pozitifler + Do\u011fru Negatifler) \/ Toplam \u00d6rnek Say\u0131s\u0131$<\/p>\n<pre><code class=\"language-python\">from sklearn.metrics import accuracy_score\naccuracy = accuracy_score(y_test, y_pred)\nprint(f\"Do\u011fruluk (Accuracy): {accuracy:.4f}\")<\/code><\/pre>\n<h4>Karma\u015f\u0131kl\u0131k Matrisi (Confusion Matrix)<\/h4>\n<p>Karma\u015f\u0131kl\u0131k matrisi, bir s\u0131n\u0131fland\u0131rma modelinin performans\u0131n\u0131 g\u00f6rselle\u015ftiren ve analiz eden temel bir ara\u00e7t\u0131r. D\u00f6rt ana bile\u015feni vard\u0131r:<br \/>\n*   <strong>Do\u011fru Pozitifler (True Positives &#8211; TP):<\/strong> Ger\u00e7ekte pozitif olan ve modelin pozitif olarak tahmin etti\u011fi \u00f6rnekler.<br \/>\n*   <strong>Do\u011fru Negatifler (True Negatives &#8211; TN):<\/strong> Ger\u00e7ekte negatif olan ve modelin negatif olarak tahmin etti\u011fi \u00f6rnekler.<br \/>\n*   <strong>Yanl\u0131\u015f Pozitifler (False Positives &#8211; FP):<\/strong> Ger\u00e7ekte negatif olan ancak modelin pozitif olarak tahmin etti\u011fi \u00f6rnekler (Tip I hata).<br \/>\n*   <strong>Yanl\u0131\u015f Negatifler (False Negatives &#8211; FN):<\/strong> Ger\u00e7ekte pozitif olan ancak modelin negatif olarak tahmin etti\u011fi \u00f6rnekler (Tip II hata).<\/p>\n<pre><code class=\"language-python\">from sklearn.metrics import confusion_matrix\ncm = confusion_matrix(y_test, y_pred)\nprint(\"Karma\u015f\u0131kl\u0131k Matrisi:\\n\", cm)<\/code><\/pre>\n<h4>Kesinlik (Precision), Duyarl\u0131l\u0131k (Recall), F1-Skor<\/h4>\n<p>Bu metrikler, karma\u015f\u0131kl\u0131k matrisinden t\u00fcretilir ve modelin farkl\u0131 y\u00f6nlerini \u00f6l\u00e7er:<\/p>\n<p>*   <strong>Kesinlik (Precision):<\/strong> Modelin pozitif olarak tahmin etti\u011fi \u00f6rneklerin ne kadar\u0131n\u0131n ger\u00e7ekten pozitif oldu\u011funu g\u00f6sterir. Yanl\u0131\u015f pozitiflerin maliyetinin y\u00fcksek oldu\u011fu durumlarda \u00f6nemlidir (\u00f6rne\u011fin, spam olmayan bir e-postay\u0131 spam olarak i\u015faretlemek).<br \/>\n    $Precision = TP \/ (TP + FP)$<\/p>\n<p>*   <strong>Duyarl\u0131l\u0131k (Recall) \/ Hassasiyet (Sensitivity):<\/strong> Ger\u00e7ekte pozitif olan t\u00fcm \u00f6rneklerin ne kadar\u0131n\u0131n model taraf\u0131ndan do\u011fru bir \u015fekilde pozitif olarak tan\u0131mland\u0131\u011f\u0131n\u0131 g\u00f6sterir. Yanl\u0131\u015f negatiflerin maliyetinin y\u00fcksek oldu\u011fu durumlarda \u00f6nemlidir (\u00f6rne\u011fin, kanserli bir hastay\u0131 sa\u011fl\u0131kl\u0131 olarak te\u015fhis etmek).<br \/>\n    $Recall = TP \/ (TP + FN)$<\/p>\n<p>*   <strong>F1-Skor:<\/strong> Kesinlik ve Duyarl\u0131l\u0131k&#8217;\u0131n harmonik ortalamas\u0131d\u0131r. Her ikisinin de dengeli bir \u015fekilde iyi oldu\u011fu durumlarda tercih edilir. \u00d6zellikle dengesiz veri setlerinde do\u011fruluktan daha iyi bir \u00f6l\u00e7\u00fct olabilir.<br \/>\n    $F1-Score = 2 <em> (Precision <\/em> Recall) \/ (Precision + Recall)$<\/p>\n<pre><code class=\"language-python\">from sklearn.metrics import classification_report\nprint(\"\\nS\u0131n\u0131fland\u0131rma Raporu:\\n\", classification_report(y_test, y_pred))<\/code><\/pre>\n<p><code>classification_report<\/code> fonksiyonu, bu metrikleri her s\u0131n\u0131f i\u00e7in ve ortalama olarak \u00f6zetleyen kapsaml\u0131 bir rapor sunar.<\/p>\n<h4>ROC E\u011frisi ve AUC<\/h4>\n<p>ROC (Receiver Operating Characteristic) e\u011frisi, bir s\u0131n\u0131fland\u0131r\u0131c\u0131n\u0131n farkl\u0131 karar e\u015fiklerinde performans\u0131n\u0131 g\u00f6steren bir grafiktir. X ekseninde Yanl\u0131\u015f Pozitif Oran\u0131 (False Positive Rate &#8211; FPR), Y ekseninde Do\u011fru Pozitif Oran\u0131 (True Positive Rate &#8211; TPR) bulunur.<\/p>\n<p>*   <strong>TPR (Duyarl\u0131l\u0131k):<\/strong> $TP \/ (TP + FN)$<br \/>\n*   <strong>FPR:<\/strong> $FP \/ (FP + TN)$<\/p>\n<p>AUC (Area Under the Curve), ROC e\u011frisinin alt\u0131nda kalan aland\u0131r. AUC de\u011feri 0 ile 1 aras\u0131nda de\u011fi\u015fir. 1&#8217;e yak\u0131n bir AUC, modelin s\u0131n\u0131flar\u0131 \u00e7ok iyi ay\u0131rd\u0131\u011f\u0131n\u0131 g\u00f6sterir. 0.5&#8217;lik bir AUC ise rastgele bir tahminciye e\u015fde\u011ferdir. AUC, modelin s\u0131n\u0131fland\u0131rma e\u015fi\u011finden ba\u011f\u0131ms\u0131z olarak genel performans\u0131n\u0131 de\u011ferlendirmek i\u00e7in harika bir metriktir.<\/p>\n<pre><code class=\"language-python\">from sklearn.metrics import roc_curve, roc_auc_score\nimport matplotlib.pyplot as plt\n\n<h2>Pozitif s\u0131n\u0131f i\u00e7in olas\u0131l\u0131klar\u0131 al (ikinci s\u00fctun)<\/h2>\ny_proba_positive = y_pred_proba[:, 1]\n\n<h2>ROC e\u011frisi noktalar\u0131n\u0131 hesapla<\/h2>\nfpr, tpr, thresholds = roc_curve(y_test, y_proba_positive)\n\n<h2>AUC de\u011ferini hesapla<\/h2>\nroc_auc = roc_auc_score(y_test, y_proba_positive)\nprint(f\"ROC AUC Skoru: {roc_auc:.4f}\")\n\n<h2>ROC e\u011frisini \u00e7iz<\/h2>\nplt.figure(figsize=(8, 6))\nplt.plot(fpr, tpr, color='darkorange', lw=2, label=f'ROC curve (area = {roc_auc:.2f})')\nplt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')\nplt.xlim([0.0, 1.0])\nplt.ylim([0.0, 1.05])\nplt.xlabel('Yanl\u0131\u015f Pozitif Oran\u0131 (False Positive Rate)')\nplt.ylabel('Do\u011fru Pozitif Oran\u0131 (True Positive Rate)')\nplt.title('Al\u0131c\u0131 \u00c7al\u0131\u015fma Karakteristi\u011fi (ROC) E\u011frisi')\nplt.legend(loc=\"lower right\")\nplt.grid(True)\nplt.show()<\/code><\/pre>\n<h3>Hiperparametre Ayar\u0131 ve Model Optimizasyonu<\/h3>\n<p>Lojistik Regresyon modelinin performans\u0131n\u0131 daha da art\u0131rmak i\u00e7in hiperparametrelerini ayarlamak \u00f6nemlidir. Scikit-Learn&#8217;deki <code>LogisticRegression<\/code> s\u0131n\u0131f\u0131 bir\u00e7ok ayarlanabilir hiperparametreye sahiptir.<\/p>\n<h4>Reg\u00fclarizasyon (Regularization)<\/h4>\n<p>Reg\u00fclarizasyon, modelin a\u015f\u0131r\u0131 \u00f6\u011frenmesini (overfitting) \u00f6nlemek i\u00e7in kullan\u0131lan bir tekniktir. A\u015f\u0131r\u0131 \u00f6\u011frenme, modelin e\u011fitim verilerini \u00e7ok iyi \u00f6\u011frenmesi ancak yeni, bilinmeyen verilere genelleme yapamamas\u0131 durumudur. Lojistik Regresyon&#8217;da iki ana reg\u00fclarizasyon t\u00fcr\u00fc vard\u0131r:<\/p>\n<p>*   <strong>L1 Reg\u00fclarizasyon (Lasso):<\/strong> Modelin katsay\u0131lar\u0131n\u0131 s\u0131f\u0131ra do\u011fru iter. Bu, baz\u0131 \u00f6nemsiz \u00f6zelliklerin katsay\u0131lar\u0131n\u0131 tamamen s\u0131f\u0131r yaparak \u00f6zellik se\u00e7imi yapma \u00f6zelli\u011fine sahiptir.<br \/>\n*   <strong>L2 Reg\u00fclarizasyon (Ridge):<\/strong> Katsay\u0131 de\u011ferlerini k\u00fc\u00e7\u00fclt\u00fcr ancak nadiren tam olarak s\u0131f\u0131r yapar. Daha karma\u015f\u0131k modellerin katsay\u0131lar\u0131n\u0131 k\u00fc\u00e7\u00fclterek a\u015f\u0131r\u0131 \u00f6\u011frenmeyi azalt\u0131r.<\/p>\n<p>Scikit-Learn&#8217;deki <code>LogisticRegression<\/code> s\u0131n\u0131f\u0131nda <code>penalty<\/code> parametresi ile <code>l1<\/code>, <code>l2<\/code>, <code>elasticnet<\/code> veya <code>none<\/code> (reg\u00fclarizasyon yok) se\u00e7eneklerini belirleyebilirsiniz. <code>C<\/code> parametresi ise reg\u00fclarizasyon g\u00fcc\u00fcn\u00fcn tersidir. <strong>Daha k\u00fc\u00e7\u00fck bir <code>C<\/code> de\u011feri, daha g\u00fc\u00e7l\u00fc reg\u00fclarizasyon anlam\u0131na gelir.<\/strong> Genellikle <code>C<\/code> i\u00e7in 0.01, 0.1, 1, 10, 100 gibi de\u011ferler denenir.<\/p>\n<pre><code class=\"language-python\"># L2 reg\u00fclarizasyon (varsay\u0131lan) ile C de\u011ferini de\u011fi\u015ftirme\nmodel_l2 = LogisticRegression(penalty='l2', C=0.1, random_state=42)\nmodel_l2.fit(X_train_scaled, y_train)\n\n<h2>L1 reg\u00fclarizasyon (solver='liblinear' veya 'saga' ile kullan\u0131l\u0131r)<\/h2>\nmodel_l1 = LogisticRegression(penalty='l1', C=1.0, solver='liblinear', random_state=42)\nmodel_l1.fit(X_train_scaled, y_train)<\/code><\/pre>\n<h4>\u00c7\u00f6z\u00fcc\u00fc Algoritmalar (Solvers)<\/h4>\n<p><code>LogisticRegression<\/code> s\u0131n\u0131f\u0131, maliyet fonksiyonunu minimize etmek i\u00e7in farkl\u0131 optimizasyon algoritmalar\u0131 (\u00e7\u00f6z\u00fcc\u00fcler) kullanabilir. Her \u00e7\u00f6z\u00fcc\u00fcn\u00fcn farkl\u0131 avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r ve belirli <code>penalty<\/code> t\u00fcrleriyle uyumludur:<\/p>\n<p>*   <strong><code>'liblinear'<\/code><\/strong>: K\u00fc\u00e7\u00fck veri setleri i\u00e7in iyidir, hem L1 hem de L2 reg\u00fclarizasyonu destekler.<br \/>\n*   <strong><code>'newton-cg'<\/code>, <code>'lbfgs'<\/code>, <code>'sag'<\/code>, <code>'saga'<\/code><\/strong>: B\u00fcy\u00fck veri setleri i\u00e7in daha h\u0131zl\u0131 olabilirler.<br \/>\n    *   <code>'lbfgs'<\/code> varsay\u0131lan \u00e7\u00f6z\u00fcc\u00fcd\u00fcr ve genellikle iyi performans g\u00f6sterir. Yaln\u0131zca L2 reg\u00fclarizasyonunu destekler.<br \/>\n    *   <code>'newton-cg'<\/code> ve <code>'sag'<\/code> de yaln\u0131zca L2 reg\u00fclarizasyonunu destekler.<br \/>\n    *   <code>'saga'<\/code> hem L1 hem de L2 reg\u00fclarizasyonunu destekler ve b\u00fcy\u00fck veri setleri i\u00e7in uygundur.<\/p>\n<p>Do\u011fru \u00e7\u00f6z\u00fcc\u00fcy\u00fc se\u00e7mek, modelin yak\u0131nsama h\u0131z\u0131n\u0131 ve do\u011frulu\u011funu etkileyebilir.<\/p>\n<pre><code class=\"language-python\"># Farkl\u0131 bir \u00e7\u00f6z\u00fcc\u00fc kullanma\nmodel_saga = LogisticRegression(penalty='elasticnet', solver='saga', l1_ratio=0.5, random_state=42)\n<h2>'elasticnet' i\u00e7in 'l1_ratio' parametresi de ayarlanmal\u0131d\u0131r.<\/h2>\n<h2>model_saga.fit(X_train_scaled, y_train)<\/code><\/pre>\n<\/h2>\n<h4>\u00c7oklu S\u0131n\u0131fland\u0131rma (Multinomial Classification)<\/h4>\n<p>Lojistik Regresyon, do\u011fas\u0131 gere\u011fi ikili s\u0131n\u0131fland\u0131rma i\u00e7in tasarlanm\u0131\u015ft\u0131r. Ancak birden fazla s\u0131n\u0131f etiketine sahip veri k\u00fcmeleri i\u00e7in de kullan\u0131labilir. Scikit-Learn&#8217;de bu durum <code>multi_class<\/code> parametresi ile y\u00f6netilir:<\/p>\n<p>*   <strong><code>'ovr'<\/code> (One-vs-Rest):<\/strong> Her s\u0131n\u0131f i\u00e7in di\u011fer t\u00fcm s\u0131n\u0131flara kar\u015f\u0131 ikili bir s\u0131n\u0131fland\u0131r\u0131c\u0131 e\u011fitilir. Bu, varsay\u0131lan davran\u0131\u015ft\u0131r ve genellikle iyi \u00e7al\u0131\u015f\u0131r.<br \/>\n*   <strong><code>'multinomial'<\/code>:<\/strong> Do\u011frudan \u00e7ok s\u0131n\u0131fl\u0131 bir maliyet fonksiyonunu minimize eder. Bu, daha &#8220;ger\u00e7ek&#8221; bir \u00e7ok s\u0131n\u0131fl\u0131 Lojistik Regresyon yakla\u015f\u0131m\u0131d\u0131r ancak <code>'lbfgs'<\/code>, <code>'sag'<\/code>, <code>'saga'<\/code>, <code>'newton-cg'<\/code> gibi \u00e7\u00f6z\u00fcc\u00fcler gerektirir.<\/p>\n<h4>Hiperparametre Optimizasyonu<\/h4>\n<p>En iyi hiperparametre kombinasyonunu manuel olarak bulmak zordur. Scikit-Learn, bu s\u00fcreci otomatikle\u015ftirmek i\u00e7in <code>GridSearchCV<\/code> ve <code>RandomizedSearchCV<\/code> gibi ara\u00e7lar sunar.<\/p>\n<p>*   <strong><code>GridSearchCV<\/code>:<\/strong> Belirtilen t\u00fcm hiperparametre kombinasyonlar\u0131n\u0131 dener ve \u00e7apraz do\u011frulama kullanarak en iyi kombinasyonu bulur. Kapsaml\u0131d\u0131r ancak \u00e7ok say\u0131da parametre ve de\u011fer varsa zaman al\u0131c\u0131 olabilir.<br \/>\n*   <strong><code>RandomizedSearchCV<\/code>:<\/strong> Belirtilen aral\u0131klardan rastgele \u00f6rneklenmi\u015f hiperparametre kombinasyonlar\u0131n\u0131 dener. Daha az hesaplama maliyetiyle iyi sonu\u00e7lar bulabilir.<\/p>\n<pre><code class=\"language-python\">from sklearn.model_selection import GridSearchCV\n\n<h2>Denenecek hiperparametreler<\/h2>\nparam_grid = {\n    'C': [0.001, 0.01, 0.1, 1, 10, 100],\n    'penalty': ['l1', 'l2'],\n    'solver': ['liblinear', 'saga'] # L1 ve L2'yi destekleyen \u00e7\u00f6z\u00fcc\u00fcler\n}\n\n<h2>GridSearchCV'yi olu\u015ftur<\/h2>\ngrid_search = GridSearchCV(LogisticRegression(random_state=42), param_grid, cv=5, scoring='roc_auc', n_jobs=-1)\n\n<h2>E\u011fitim verisi \u00fczerinde \u00e7al\u0131\u015ft\u0131r<\/h2>\ngrid_search.fit(X_train_scaled, y_train)\n\n<h2>En iyi parametreleri ve skoru yazd\u0131r<\/h2>\nprint(\"\\nEn iyi parametreler:\", grid_search.best_params_)\nprint(\"En iyi ROC AUC skoru:\", grid_search.best_score_)\n\n<h2>En iyi modeli al<\/h2>\nbest_model = grid_search.best_estimator_<\/code><\/pre>\n<p><code>cv=5<\/code> 5 katl\u0131 \u00e7apraz do\u011frulama yap\u0131laca\u011f\u0131n\u0131 belirtir. <code>scoring='roc_auc'<\/code> ise modelleri AUC skoruna g\u00f6re de\u011ferlendirece\u011fimizi ifade eder. <code>n_jobs=-1<\/code> t\u00fcm i\u015flemci \u00e7ekirdeklerini kullan\u0131r.<\/p>\n<h3>Geli\u015fmi\u015f Konular ve En \u0130yi Uygulamalar<\/h3>\n<p>Lojistik Regresyon&#8217;u daha etkili kullanmak ve performans\u0131n\u0131 art\u0131rmak i\u00e7in baz\u0131 geli\u015fmi\u015f konular ve en iyi uygulamalar g\u00f6z \u00f6n\u00fcnde bulundurulmal\u0131d\u0131r.<\/p>\n<h4>\u00d6l\u00e7eklendirme (Feature Scaling)<\/h4>\n<p>Gradyan ini\u015fi tabanl\u0131 algoritmalar (Lojistik Regresyon gibi), \u00f6zelliklerin farkl\u0131 \u00f6l\u00e7eklerde olmas\u0131 durumunda daha yava\u015f yak\u0131nsayabilir veya optimum \u00e7\u00f6z\u00fcme ula\u015famayabilir. Bu nedenle, <code>StandardScaler<\/code> veya <code>MinMaxScaler<\/code> gibi y\u00f6ntemlerle \u00f6zellikleri \u00f6l\u00e7eklendirmek kritik \u00f6neme sahiptir. Bu, t\u00fcm \u00f6zelliklerin benzer bir aral\u0131kta olmas\u0131n\u0131 sa\u011flayarak optimizasyon s\u00fcrecini h\u0131zland\u0131r\u0131r ve modelin performans\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<h4>\u00d6zellik M\u00fchendisli\u011fi (Feature Engineering)<\/h4>\n<p>Modelin performans\u0131n\u0131 art\u0131rman\u0131n en etkili yollar\u0131ndan biri \u00f6zellik m\u00fchendisli\u011fidir. Bu, mevcut \u00f6zelliklerden yeni, daha anlaml\u0131 \u00f6zellikler olu\u015fturmay\u0131 i\u00e7erir. \u00d6rne\u011fin:<br \/>\n<em>   <strong>Polinom \u00d6zellikler:<\/strong> Do\u011frusal olmayan ili\u015fkileri yakalamak i\u00e7in mevcut \u00f6zelliklerin kuvvetlerini (\u00f6rn. $x^2$, $x^3$) veya etkile\u015fim terimlerini (\u00f6rn. $x_1 <\/em> x_2$) eklemek. <code>sklearn.preprocessing.PolynomialFeatures<\/code> bu konuda yard\u0131mc\u0131 olabilir.<br \/>\n*   <strong>Kategorik \u00d6zelliklerin D\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi:<\/strong> Tek s\u0131cak kodlama (One-Hot Encoding) veya etiket kodlama (Label Encoding) gibi y\u00f6ntemlerle kategorik verileri say\u0131sal verilere d\u00f6n\u00fc\u015ft\u00fcrmek.<\/p>\n<h4>Dengesiz Veri K\u00fcmeleriyle Ba\u015fa \u00c7\u0131kma<\/h4>\n<p>Bir s\u0131n\u0131f\u0131n di\u011ferine g\u00f6re \u00e7ok daha az \u00f6rne\u011fe sahip oldu\u011fu dengesiz veri k\u00fcmeleri, Lojistik Regresyon gibi s\u0131n\u0131fland\u0131rma modellerinin performans\u0131n\u0131 olumsuz etkileyebilir. Model, \u00e7o\u011funluk s\u0131n\u0131f\u0131na e\u011filim g\u00f6sterebilir ve az\u0131nl\u0131k s\u0131n\u0131f\u0131n\u0131 do\u011fru tahmin etmekte zorlanabilir. Bu durumu ele almak i\u00e7in \u00e7e\u015fitli teknikler mevcuttur:<br \/>\n*   <strong>S\u0131n\u0131f A\u011f\u0131rl\u0131klar\u0131 (<code>class_weight<\/code>):<\/strong> Scikit-Learn&#8217;deki <code>LogisticRegression<\/code> s\u0131n\u0131f\u0131n\u0131n <code>class_weight='balanced'<\/code> parametresi, modelin e\u011fitim s\u0131ras\u0131nda az\u0131nl\u0131k s\u0131n\u0131f\u0131na daha fazla a\u011f\u0131rl\u0131k vermesini sa\u011flar. Bu, maliyet fonksiyonunun az\u0131nl\u0131k s\u0131n\u0131f\u0131ndaki hatalara daha fazla ceza vermesine neden olur.<br \/>\n*   <strong>Yeniden \u00d6rnekleme (Resampling):<\/strong><br \/>\n    *   <strong>A\u015f\u0131r\u0131 \u00d6rnekleme (Oversampling):<\/strong> Az\u0131nl\u0131k s\u0131n\u0131f\u0131n\u0131n \u00f6rneklerini \u00e7o\u011faltmak (\u00f6rne\u011fin, SMOTE &#8211; Synthetic Minority Over-sampling Technique).<br \/>\n    *   <strong>Az \u00d6rnekleme (Undersampling):<\/strong> \u00c7o\u011funluk s\u0131n\u0131f\u0131n\u0131n \u00f6rneklerini azaltmak.<br \/>\n*   <strong>Farkl\u0131 Metrikler Kullanma:<\/strong> Do\u011fruluk yerine Kesinlik, Duyarl\u0131l\u0131k, F1-Skor veya AUC gibi metrikleri kullanarak model performans\u0131n\u0131 de\u011ferlendirmek.<\/p>\n<h4>Modelin Yorumlanabilirli\u011fi<\/h4>\n<p>Lojistik Regresyon&#8217;un en b\u00fcy\u00fck avantajlar\u0131ndan biri yorumlanabilirli\u011fidir. <code>model.coef_<\/code> ve <code>model.intercept_<\/code> nitelikleri, her bir \u00f6zelli\u011fin hedef de\u011fi\u015fken \u00fczerindeki etkisini g\u00f6sterir:<br \/>\n*   <code>model.coef_<\/code>: Her bir \u00f6zelli\u011fin katsay\u0131s\u0131d\u0131r. Pozitif bir katsay\u0131, o \u00f6zelli\u011fin de\u011ferindeki art\u0131\u015f\u0131n pozitif s\u0131n\u0131f olas\u0131l\u0131\u011f\u0131n\u0131 art\u0131rd\u0131\u011f\u0131n\u0131, negatif bir katsay\u0131 ise azaltt\u0131\u011f\u0131n\u0131 g\u00f6sterir.<br \/>\n*   <code>model.intercept_<\/code>: Sabit terimdir.<\/p>\n<p>Bu katsay\u0131lar, modelin hangi \u00f6zelliklere daha fazla \u00f6nem verdi\u011fini ve bu \u00f6zelliklerin tahminler \u00fczerindeki y\u00f6n\u00fcn\u00fc anlamam\u0131z\u0131 sa\u011flar. \u00d6rne\u011fin, bir t\u0131bbi te\u015fhis modelinde, belirli bir biyobelirtecin pozitif katsay\u0131s\u0131, o biyobelirtecin y\u00fcksek de\u011ferlerinin hastal\u0131\u011f\u0131n varl\u0131\u011f\u0131 olas\u0131l\u0131\u011f\u0131n\u0131 art\u0131rd\u0131\u011f\u0131n\u0131 g\u00f6sterebilir.<\/p>\n<h3>Pratik Bir Uygulama \u00d6rne\u011fi<\/h3>\n<p>\u015eimdiye kadar ele ald\u0131\u011f\u0131m\u0131z t\u00fcm ad\u0131mlar\u0131 bir araya getiren basit bir uygulama \u00f6rne\u011fi \u00fczerinden ge\u00e7elim. Meme Kanseri veri setini kullanarak Lojistik Regresyon modelini kurup de\u011ferlendirece\u011fiz.<\/p>\n<pre><code class=\"language-python\">import pandas as pd\nfrom sklearn.model_selection import train_test_split, GridSearchCV\nfrom sklearn.preprocessing import StandardScaler\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import accuracy_score, classification_report, roc_auc_score, roc_curve\nfrom sklearn.datasets import load_breast_cancer\nimport matplotlib.pyplot as plt\n\n<h2>1. Veri Y\u00fckleme<\/h2>\ndata = load_breast_cancer()\nX = pd.DataFrame(data.data, columns=data.feature_names)\ny = pd.Series(data.target)\n\nprint(\"Veri Seti Boyutu:\", X.shape)\nprint(\"Hedef S\u0131n\u0131f Da\u011f\u0131l\u0131m\u0131:\\n\", y.value_counts())\n\n<h2>2. Veriyi E\u011fitim ve Test Setlerine Ay\u0131rma<\/h2>\nX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42, stratify=y)\n\n<h2>3. \u00d6zellik \u00d6l\u00e7eklendirme<\/h2>\nscaler = StandardScaler()\nX_train_scaled = scaler.fit_transform(X_train)\nX_test_scaled = scaler.transform(X_test)\n\n<h2>4. Model Olu\u015fturma ve E\u011fitme (Ba\u015flang\u0131\u00e7 Modeli)<\/h2>\ninitial_model = LogisticRegression(random_state=42)\ninitial_model.fit(X_train_scaled, y_train)\n\n<h2>5. Ba\u015flang\u0131\u00e7 Modelini De\u011ferlendirme<\/h2>\ny_pred_initial = initial_model.predict(X_test_scaled)\ny_proba_initial = initial_model.predict_proba(X_test_scaled)[:, 1]\n\nprint(\"\\n--- Ba\u015flang\u0131\u00e7 Modeli De\u011ferlendirmesi ---\")\nprint(f\"Do\u011fruluk (Accuracy): {accuracy_score(y_test, y_pred_initial):.4f}\")\nprint(\"S\u0131n\u0131fland\u0131rma Raporu:\\n\", classification_report(y_test, y_pred_initial))\nprint(f\"ROC AUC Skoru: {roc_auc_score(y_test, y_proba_initial):.4f}\")\n\n<h2>6. Hiperparametre Optimizasyonu (GridSearchCV)<\/h2>\nparam_grid = {\n    'C': [0.01, 0.1, 1, 10, 100],\n    'penalty': ['l2'], # Sadece L2 reg\u00fclarizasyonunu deneyece\u011fiz\n    'solver': ['lbfgs', 'liblinear'] # L2 ile uyumlu \u00e7\u00f6z\u00fcc\u00fcler\n}\n\ngrid_search = GridSearchCV(LogisticRegression(random_state=42, class_weight='balanced'),\n                           param_grid, cv=5, scoring='roc_auc', n_jobs=-1)\ngrid_search.fit(X_train_scaled, y_train)\n\nprint(\"\\n--- Hiperparametre Optimizasyonu Sonu\u00e7lar\u0131 ---\")\nprint(\"En iyi parametreler:\", grid_search.best_params_)\nprint(\"En iyi ROC AUC skoru (\u00c7apraz Do\u011frulama):\", grid_search.best_score_:.4f)\n\n<h2>7. En \u0130yi Modeli De\u011ferlendirme<\/h2>\nbest_model = grid_search.best_estimator_\ny_pred_best = best_model.predict(X_test_scaled)\ny_proba_best = best_model.predict_proba(X_test_scaled)[:, 1]\n\nprint(\"\\n--- En \u0130yi Modelin Test Seti \u00dczerindeki De\u011ferlendirmesi ---\")\nprint(f\"Do\u011fruluk (Accuracy): {accuracy_score(y_test, y_pred_best):.4f}\")\nprint(\"S\u0131n\u0131fland\u0131rma Raporu:\\n\", classification_report(y_test, y_pred_best))\nprint(f\"ROC AUC Skoru: {roc_auc_score(y_test, y_proba_best):.4f}\")\n\n<h2>8. ROC E\u011frisi \u00c7izimi<\/h2>\nfpr_best, tpr_best, _ = roc_curve(y_test, y_proba_best)\n\nplt.figure(figsize=(8, 6))\nplt.plot(fpr_best, tpr_best, color='darkorange', lw=2, label=f'ROC curve (area = {roc_auc_score(y_test, y_proba_best):.2f})')\nplt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')\nplt.xlim([0.0, 1.0])\nplt.ylim([0.0, 1.05])\nplt.xlabel('Yanl\u0131\u015f Pozitif Oran\u0131 (False Positive Rate)')\nplt.ylabel('Do\u011fru Pozitif Oran\u0131 (True Positive Rate)')\nplt.title('En \u0130yi Model \u0130\u00e7in ROC E\u011frisi')\nplt.legend(loc=\"lower right\")\nplt.grid(True)\nplt.show()\n\n<h2>9. Model Katsay\u0131lar\u0131n\u0131 Yorumlama<\/h2>\nprint(\"\\n--- Model Katsay\u0131lar\u0131 ---\")\ncoefficients = pd.DataFrame({'Feature': X.columns, 'Coefficient': best_model.coef_[0]})\nprint(coefficients.sort_values(by='Coefficient', ascending=False))\nprint(f\"Sabit Terim (Intercept): {best_model.intercept_[0]:.4f}\")<\/code><\/pre>\n<p>Bu \u00f6rnek kod, veri y\u00fcklemeden hiperparametre optimizasyonuna ve model yorumlamaya kadar Lojistik Regresyon&#8217;un t\u00fcm temel ad\u0131mlar\u0131n\u0131 g\u00f6stermektedir. \u00d6zellikle <code>class_weight='balanced'<\/code> parametresinin kullan\u0131m\u0131, dengesiz veri setlerinde modelin az\u0131nl\u0131k s\u0131n\u0131f\u0131na daha fazla odaklanmas\u0131n\u0131 sa\u011flamak i\u00e7in \u00f6nemlidir.<\/p>\n<h3>Sonu\u00e7 ve \u0130leri Ad\u0131mlar<\/h3>\n<p>Lojistik Regresyon, basitli\u011fi, h\u0131z\u0131 ve yorumlanabilirli\u011fi sayesinde makine \u00f6\u011freniminde en s\u0131k kullan\u0131lan s\u0131n\u0131fland\u0131rma algoritmalar\u0131ndan biridir. \u00d6zellikle ikili s\u0131n\u0131fland\u0131rma g\u00f6revlerinde g\u00fc\u00e7l\u00fc bir ba\u015flang\u0131\u00e7 noktas\u0131 sunar. Scikit-Learn k\u00fct\u00fcphanesi, bu algoritmay\u0131 Python ortam\u0131nda kolayca uygulaman\u0131za, de\u011ferlendirmenize ve optimize etmenize olanak tan\u0131r.<\/p>\n<p>Bu rehberde, Lojistik Regresyon&#8217;un teorik temellerini, Sigmoid fonksiyonu, maliyet fonksiyonu ve gradyan ini\u015fi gibi kavramlar\u0131 inceledik. Ard\u0131ndan, Scikit-Learn kullanarak bir modeli nas\u0131l e\u011fitece\u011fimizi, tahminler yapaca\u011f\u0131m\u0131z\u0131 ve do\u011fruluk, kesinlik, duyarl\u0131l\u0131k, F1-Skor, karma\u015f\u0131kl\u0131k matrisi, ROC e\u011frisi ve AUC gibi \u00e7e\u015fitli metriklerle nas\u0131l de\u011ferlendirece\u011fimizi \u00f6\u011frendik. Son olarak, reg\u00fclarizasyon, \u00e7\u00f6z\u00fcc\u00fcler ve hiperparametre optimizasyonu (GridSearchCV) gibi tekniklerle model performans\u0131n\u0131 nas\u0131l art\u0131raca\u011f\u0131m\u0131z\u0131 ve \u00f6zellik \u00f6l\u00e7eklendirme, \u00f6zellik m\u00fchendisli\u011fi ve dengesiz veri k\u00fcmeleriyle ba\u015fa \u00e7\u0131kma gibi en iyi uygulamalar\u0131 tart\u0131\u015ft\u0131k.<\/p>\n<p>Lojistik Regresyon&#8217;da ustala\u015fmak, makine \u00f6\u011frenimi yolculu\u011funuzda \u00f6nemli bir ad\u0131md\u0131r. Ancak bu sadece ba\u015flang\u0131\u00e7t\u0131r. Bilginizi derinle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki konular\u0131 ara\u015ft\u0131rmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz:<br \/>\n*   <strong>Daha Geli\u015fmi\u015f S\u0131n\u0131fland\u0131rma Algoritmalar\u0131:<\/strong> Destek Vekt\u00f6r Makineleri (SVM), Karar A\u011fa\u00e7lar\u0131, Rastgele Ormanlar (Random Forests), Gradyan Art\u0131r\u0131m\u0131 (Gradient Boosting) algoritmalar\u0131 (XGBoost, LightGBM) gibi modelleri ke\u015ffedin.<br \/>\n*   <strong>Derin \u00d6\u011frenme (Deep Learning):<\/strong> Karma\u015f\u0131k, do\u011frusal olmayan ili\u015fkileri modellemek i\u00e7in sinir a\u011flar\u0131 ve derin \u00f6\u011frenme \u00e7er\u00e7evelerini (TensorFlow, PyTorch) inceleyin.<br \/>\n*   <strong>Pipeline ve FeatureUnion:<\/strong> Scikit-Learn&#8217;deki bu ara\u00e7lar\u0131 kullanarak veri \u00f6n i\u015fleme ve modelleme ad\u0131mlar\u0131n\u0131 birle\u015ftirin ve daha d\u00fczenli, tekrarlanabilir i\u015f ak\u0131\u015flar\u0131 olu\u015fturun.<br \/>\n*   <strong>Model Se\u00e7imi ve \u00c7apraz Do\u011frulama:<\/strong> Farkl\u0131 modelleri kar\u015f\u0131la\u015ft\u0131rmak ve genellenebilirliklerini art\u0131rmak i\u00e7in \u00e7apraz do\u011frulama tekniklerini daha derinlemesine \u00f6\u011frenin.<\/p>\n<p>Lojistik Regresyon, bir\u00e7ok ger\u00e7ek d\u00fcnya problemine uygulanabilir ve sa\u011flam bir temel sa\u011flar. Bu rehberdeki bilgileri kullanarak, kendi veri setlerinizde g\u00fcvenle Lojistik Regresyon modelleri geli\u015ftirebilir ve etkili tahminler yapabilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber Giri\u015f Makine \u00f6\u011frenimi, g\u00fcn\u00fcm\u00fcz\u00fcn veri odakl\u0131 d\u00fcnyas\u0131nda karar verme s\u00fcre\u00e7lerini otomatikle\u015ftirmek ve \u00f6ng\u00f6r\u00fclerde bulunmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-41561","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber Giri\u015f Makine \u00f6\u011frenimi, g\u00fcn\u00fcm\u00fcz\u00fcn veri odakl\u0131 d\u00fcnyas\u0131nda karar verme s\u00fcre\u00e7lerini otomatikle\u015ftirmek ve \u00f6ng\u00f6r\u00fclerde bulunmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-03T14:01:38+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"22 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2026-05-03T14:01:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\"},\"wordCount\":3208,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\",\"name\":\"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-05-03T14:01:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber","og_description":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber Giri\u015f Makine \u00f6\u011frenimi, g\u00fcn\u00fcm\u00fcz\u00fcn veri odakl\u0131 d\u00fcnyas\u0131nda karar verme s\u00fcre\u00e7lerini otomatikle\u015ftirmek ve \u00f6ng\u00f6r\u00fclerde bulunmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015ftir.","og_url":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-05-03T14:01:38+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"22 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber","datePublished":"2026-05-03T14:01:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/"},"wordCount":3208,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/","name":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-05-03T14:01:38+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/scikit-learn-ile-lojistik-regresyonu-uzmanlasma-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Scikit-Learn ile Lojistik Regresyonu Uzmanla\u015fma: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=41561"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41561\/revisions"}],"predecessor-version":[{"id":41562,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41561\/revisions\/41562"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}