<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[KodlarTR - Python ile Makine Öğrenmesi]]></title>
		<link>https://kodlar.tr/</link>
		<description><![CDATA[KodlarTR - https://kodlar.tr]]></description>
		<pubDate>Fri, 15 May 2026 11:25:54 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Öğrenci Notunu Tahmin Etme]]></title>
			<link>https://kodlar.tr/konu-ogrenci-notunu-tahmin-etme.html</link>
			<pubDate>Sat, 10 May 2025 17:01:37 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://kodlar.tr/member.php?action=profile&uid=1">admin</a>]]></dc:creator>
			<guid isPermaLink="false">https://kodlar.tr/konu-ogrenci-notunu-tahmin-etme.html</guid>
			<description><![CDATA[Öğrenci Notunu Tahmin Etme <br />
<br />
Kodlar.tr için bir örnekle başlayacağız. Elimizde bir grup öğrencinin sınav öncesinde çalıştığı saatler ve aldıkları sınav notları var. Amacımız, yeni bir öğrencinin çalışma saatini bildiğimizde, bu öğrencinin sınav notunu tahmin edebilecek basit bir makine öğrenmesi modeli oluşturmak.<br />
<span style="font-weight: bold;" class="mycode_b">Veri:</span><br />
Aşağıdaki gibi basit bir veri setimiz olduğunu varsayalım:<br />
<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Python<br />
<br />
import numpy as np<br />
<br />
# Çalışma saatleri (saat)<br />
calisma_saatleri = np.array([2, 3, 5, 7, 8, 10])<br />
<br />
# Sınav notları<br />
sinav_notlari = np.array([60, 75, 82, 90, 93, 98])</code></div></div>
<span style="font-weight: bold;" class="mycode_b">Çözüm:</span><br />
Bu basit doğrusal ilişkiyi modellemek için doğrusal regresyon (Linear Regression) algoritmasını kullanabiliriz. Python'da bu algoritmayı uygulamak için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>scikit-learn</code></div></div> kütüphanesini kullanacağız.<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>from sklearn.linear_model import LinearRegression<br />
import matplotlib.pyplot as plt<br />
<br />
# Doğrusal regresyon modelini oluştur<br />
model = LinearRegression()<br />
<br />
# Modeli verilere göre eğit<br />
model.fit(calisma_saatleri.reshape(-1, 1), sinav_notlari)<br />
<br />
# Yeni bir çalışma saati için not tahmini yap<br />
yeni_calisma_saati = 6<br />
tahmin_edilen_not = model.predict([[yeni_calisma_saati]])<br />
print(f"{yeni_calisma_saati} saat çalışan bir öğrencinin tahmini notu: {tahmin_edilen_not[0]:.2f}")<br />
<br />
# Veri noktalarını ve regresyon çizgisini görselleştir<br />
plt.scatter(calisma_saatleri, sinav_notlari, color='blue', label='Gerçek Notlar')<br />
plt.plot(calisma_saatleri, model.predict(calisma_saatleri.reshape(-1, 1)), color='red', label='Doğrusal Regresyon Çizgisi')<br />
plt.scatter(yeni_calisma_saati, tahmin_edilen_not, color='green', marker='x', s=100, label='Tahmin Edilen Not')<br />
plt.xlabel('Çalışma Saatleri')<br />
plt.ylabel('Sınav Notları')<br />
plt.title('Çalışma Saatleri ve Sınav Notları İlişkisi')<br />
plt.legend()<br />
plt.grid(True)<br />
plt.show()</code></div></div>
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Veri İçe Aktarma:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>numpy</code></div></div> kütüphanesini kullanarak çalışma saatleri ve sınav notlarını içeren NumPy dizileri oluşturduk.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Model Oluşturma:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>sklearn.linear_model</code></div></div> modülünden <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>LinearRegression</code></div></div> sınıfını kullanarak bir doğrusal regresyon modeli nesnesi oluşturduk.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Modeli Eğitme:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>fit()</code></div></div> metodu ile modelimizi mevcut çalışma saatleri ve sınav notları verileriyle eğittik. <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>reshape(-1, 1)</code></div></div> ifadesi, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>scikit-learn</code></div></div>'ün beklentisi doğrultusunda tek özellikli (çalışma saatleri) veriyi iki boyutlu bir diziye dönüştürmek için kullanılır.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Tahmin Yapma:</span> Eğitilmiş modeli kullanarak yeni bir çalışma saati (örneğimizde 6 saat) için sınav notu tahmini yaptık. <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>predict()</code></div></div> metodu, girdi olarak iki boyutlu bir dizi beklediği için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>[[yeni_calisma_saati]]</code></div></div> şeklinde bir girdi verdik.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Görselleştirme:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>matplotlib.pyplot</code></div></div> kütüphanesi ile gerçek veri noktalarını, elde edilen doğrusal regresyon çizgisini ve tahmin edilen notu bir grafik üzerinde gösterdik. Bu, modelin veriye ne kadar iyi uyduğunu görsel olarak anlamamıza yardımcı olur.<br />
</li>
</ol>
Bu basit örnek, Python'da <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>scikit-learn</code></div></div> kütüphanesi kullanılarak temel bir makine öğrenmesi görevinin (regresyon) nasıl gerçekleştirilebileceğini göstermektedir. Gerçek dünya problemleri genellikle daha karmaşık veri setleri ve daha gelişmiş algoritmalar gerektirse de, bu örnek temel prensipleri anlamak için iyi bir başlangıç noktasıdır.]]></description>
			<content:encoded><![CDATA[Öğrenci Notunu Tahmin Etme <br />
<br />
Kodlar.tr için bir örnekle başlayacağız. Elimizde bir grup öğrencinin sınav öncesinde çalıştığı saatler ve aldıkları sınav notları var. Amacımız, yeni bir öğrencinin çalışma saatini bildiğimizde, bu öğrencinin sınav notunu tahmin edebilecek basit bir makine öğrenmesi modeli oluşturmak.<br />
<span style="font-weight: bold;" class="mycode_b">Veri:</span><br />
Aşağıdaki gibi basit bir veri setimiz olduğunu varsayalım:<br />
<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>Python<br />
<br />
import numpy as np<br />
<br />
# Çalışma saatleri (saat)<br />
calisma_saatleri = np.array([2, 3, 5, 7, 8, 10])<br />
<br />
# Sınav notları<br />
sinav_notlari = np.array([60, 75, 82, 90, 93, 98])</code></div></div>
<span style="font-weight: bold;" class="mycode_b">Çözüm:</span><br />
Bu basit doğrusal ilişkiyi modellemek için doğrusal regresyon (Linear Regression) algoritmasını kullanabiliriz. Python'da bu algoritmayı uygulamak için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>scikit-learn</code></div></div> kütüphanesini kullanacağız.<br />
<br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>from sklearn.linear_model import LinearRegression<br />
import matplotlib.pyplot as plt<br />
<br />
# Doğrusal regresyon modelini oluştur<br />
model = LinearRegression()<br />
<br />
# Modeli verilere göre eğit<br />
model.fit(calisma_saatleri.reshape(-1, 1), sinav_notlari)<br />
<br />
# Yeni bir çalışma saati için not tahmini yap<br />
yeni_calisma_saati = 6<br />
tahmin_edilen_not = model.predict([[yeni_calisma_saati]])<br />
print(f"{yeni_calisma_saati} saat çalışan bir öğrencinin tahmini notu: {tahmin_edilen_not[0]:.2f}")<br />
<br />
# Veri noktalarını ve regresyon çizgisini görselleştir<br />
plt.scatter(calisma_saatleri, sinav_notlari, color='blue', label='Gerçek Notlar')<br />
plt.plot(calisma_saatleri, model.predict(calisma_saatleri.reshape(-1, 1)), color='red', label='Doğrusal Regresyon Çizgisi')<br />
plt.scatter(yeni_calisma_saati, tahmin_edilen_not, color='green', marker='x', s=100, label='Tahmin Edilen Not')<br />
plt.xlabel('Çalışma Saatleri')<br />
plt.ylabel('Sınav Notları')<br />
plt.title('Çalışma Saatleri ve Sınav Notları İlişkisi')<br />
plt.legend()<br />
plt.grid(True)<br />
plt.show()</code></div></div>
<ol type="1" class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Veri İçe Aktarma:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>numpy</code></div></div> kütüphanesini kullanarak çalışma saatleri ve sınav notlarını içeren NumPy dizileri oluşturduk.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Model Oluşturma:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>sklearn.linear_model</code></div></div> modülünden <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>LinearRegression</code></div></div> sınıfını kullanarak bir doğrusal regresyon modeli nesnesi oluşturduk.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Modeli Eğitme:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>fit()</code></div></div> metodu ile modelimizi mevcut çalışma saatleri ve sınav notları verileriyle eğittik. <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>reshape(-1, 1)</code></div></div> ifadesi, <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>scikit-learn</code></div></div>'ün beklentisi doğrultusunda tek özellikli (çalışma saatleri) veriyi iki boyutlu bir diziye dönüştürmek için kullanılır.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Tahmin Yapma:</span> Eğitilmiş modeli kullanarak yeni bir çalışma saati (örneğimizde 6 saat) için sınav notu tahmini yaptık. <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>predict()</code></div></div> metodu, girdi olarak iki boyutlu bir dizi beklediği için <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>[[yeni_calisma_saati]]</code></div></div> şeklinde bir girdi verdik.<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Görselleştirme:</span> <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>matplotlib.pyplot</code></div></div> kütüphanesi ile gerçek veri noktalarını, elde edilen doğrusal regresyon çizgisini ve tahmin edilen notu bir grafik üzerinde gösterdik. Bu, modelin veriye ne kadar iyi uyduğunu görsel olarak anlamamıza yardımcı olur.<br />
</li>
</ol>
Bu basit örnek, Python'da <br />
<div class="py-4 mb-6 -mx-6 text-sm border-l-2 border-orange-400 bg-slate-100 dark:bg-slate-800 md:rounded-l-md md:ml-0 md:-mr-6 md:border-l-0 md:border-r-2" style="padding-left: calc(1.5rem - 2px); padding-right: calc(1.5rem - 2px)"><div class="sr-only">Kod:</div><div dir="ltr"><code>scikit-learn</code></div></div> kütüphanesi kullanılarak temel bir makine öğrenmesi görevinin (regresyon) nasıl gerçekleştirilebileceğini göstermektedir. Gerçek dünya problemleri genellikle daha karmaşık veri setleri ve daha gelişmiş algoritmalar gerektirse de, bu örnek temel prensipleri anlamak için iyi bir başlangıç noktasıdır.]]></content:encoded>
		</item>
	</channel>
</rss>