Yapay zekâyı denemek için en kolay başlangıç, Python ile küçük ve tek amacı olan bir model kurmaktır. Aşağıdaki örneklerde önce metin sınıflandırma, ardından tahmin ve sohbet mantığı gösteriliyor. Kodları çalıştırırken kullanılan girdiyi değiştirerek modelin ne öğrendiğini ve hangi durumlarda yanılabileceğini görebilirsiniz.
Bilgisayarınızda Python 3 bulunması ve komut satırını kullanabilmeniz yeterlidir. Makine öğrenmesi örneği için scikit-learn kurulmalıdır:
Windows'ta
Bu örnekte model, kısa cümleleri
Çıktının
Aşağıdaki örnek, çalışma saatine göre sınav puanı tahmini yapan basit bir doğrusal regresyon modelidir. Veriler varsayımsaldır; gerçek bir öğrencinin başarısını kesin olarak belirlemez.
Buradaki sonuç, eğitim verilerindeki doğrusal eğilimin 7 saate uzatılmasıdır. Model; uyku, önceki bilgi, sınavın zorluğu veya çalışma kalitesi gibi değişkenleri bilmediği için bu çıktı gerçek puan garantisi vermez. Tahminin anlamlı olup olmadığını değerlendirmek için modeli ayrı test verileriyle denemek ve yalnızca eğitim verisine ne kadar iyi uyduğuna bakmamak gerekir.
Her yapay zekâ örneği makine öğrenmesi modeli olmak zorunda değildir. Aşağıdaki program, kullanıcının mesajındaki anahtar kelimelere göre yanıt seçer. Bu yöntem küçük ve öngörülebilir işler için uygundur; yeni cümleleri gerçekten anlamaz ve eğitim yapmaz.
Programı çalıştırdığınızda mesaj yazabilirsiniz.
Seçim, yapmak istediğiniz işe bağlıdır.
İlk deneme için kural tabanlı örnek en kolay seçenektir. Model eğitiminin nasıl çalıştığını görmek istiyorsanız metin sınıflandırma örneğini kullanın. Sonuçları gerçek bir kararda kullanmadan önce veriyi eğitim ve test bölümlerine ayırın, yanlış tahminleri inceleyin ve hassas kişisel verileri eğitim dosyalarına eklemeyin.
Önce hata mesajındaki dosya ve satır numarasını okuyun.
Başlamadan önce
Bilgisayarınızda Python 3 bulunması ve komut satırını kullanabilmeniz yeterlidir. Makine öğrenmesi örneği için scikit-learn kurulmalıdır:
Bash:
python -m pip install scikit-learn
Windows'ta
python komutu çalışmazsa aynı komutu py -m pip install scikit-learn biçiminde deneyebilirsiniz. Kurulumdan sonra aşağıdaki kodları .py uzantılı bir dosyaya kaydedip Python ile çalıştırın.Örnek 1: Basit metin sınıflandırma
Bu örnekte model, kısa cümleleri
olumlu veya olumsuz olarak sınıflandırmayı öğrenir. TfidfVectorizer metinleri sayısal özelliklere dönüştürür, LogisticRegression ise bu özelliklerden sınıf tahmini yapar.
Python:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
metinler = [
"Ürün çok kaliteli ve kullanışlı",
"Hizmetten memnun kaldım",
"Bu uygulama harika çalışıyor",
"Ürün beklediğimden kötü çıktı",
"Hizmet çok yavaş ve sorunlu",
"Uygulama sürekli hata veriyor"
]
etiketler = [
"olumlu",
"olumlu",
"olumlu",
"olumsuz",
"olumsuz",
"olumsuz"
]
model = make_pipeline(
TfidfVectorizer(),
LogisticRegression(max_iter=1000)
)
model.fit(metinler, etiketler)
yeni_metin = "Uygulama hızlı ve oldukça kullanışlı"
tahmin = model.predict([yeni_metin])[0]
print(f"Metin: {yeni_metin}")
print(f"Tahmin: {tahmin}")
Çıktının
olumlu olması, modelin yeni cümleyi eğitim örneklerine benzeyen olumlu bir metin olarak değerlendirdiğini gösterir. Bu sonuç cümlenin kesin olarak olumlu olduğu anlamına gelmez; model yalnızca verdiğiniz küçük eğitim kümesindeki kelime ilişkilerini kullanır. Daha güvenilir sonuç için farklı anlatım biçimleri, yazım hataları ve gerçek kullanım örnekleri içeren daha büyük bir veri kümesi gerekir.Örnek 2: Sayısal veriden tahmin üretme
Aşağıdaki örnek, çalışma saatine göre sınav puanı tahmini yapan basit bir doğrusal regresyon modelidir. Veriler varsayımsaldır; gerçek bir öğrencinin başarısını kesin olarak belirlemez.
Python:
from sklearn.linear_model import LinearRegression
calisma_saati = [[1], [2], [3], [4], [5], [6]]
sinav_puani = [45, 50, 58, 65, 72, 78]
model = LinearRegression()
model.fit(calisma_saati, sinav_puani)
tahmin = model.predict([[7]])[0]
print(f"7 saat çalışma için tahmini puan: {tahmin:.1f}")
Buradaki sonuç, eğitim verilerindeki doğrusal eğilimin 7 saate uzatılmasıdır. Model; uyku, önceki bilgi, sınavın zorluğu veya çalışma kalitesi gibi değişkenleri bilmediği için bu çıktı gerçek puan garantisi vermez. Tahminin anlamlı olup olmadığını değerlendirmek için modeli ayrı test verileriyle denemek ve yalnızca eğitim verisine ne kadar iyi uyduğuna bakmamak gerekir.
Örnek 3: Basit kural tabanlı sohbet yardımcısı
Her yapay zekâ örneği makine öğrenmesi modeli olmak zorunda değildir. Aşağıdaki program, kullanıcının mesajındaki anahtar kelimelere göre yanıt seçer. Bu yöntem küçük ve öngörülebilir işler için uygundur; yeni cümleleri gerçekten anlamaz ve eğitim yapmaz.
Python:
def yanit_ver(mesaj):
mesaj = mesaj.lower()
if "merhaba" in mesaj or "selam" in mesaj:
return "Merhaba, nasıl yardımcı olabilirim?"
if "saat" in mesaj:
return "Bulunduğunuz sistemin saatini öğrenmek için Python'da datetime modülünü kullanabilirsiniz."
if "teşekkür" in mesaj:
return "Rica ederim."
return "Bu isteği anlayamadım. Daha farklı bir ifadeyle deneyin."
while True:
mesaj = input("Siz: ")
if mesaj.lower() in ["çıkış", "exit", "quit"]:
print("Görüşmek üzere.")
break
print("Yardımcı:", yanit_ver(mesaj))
Programı çalıştırdığınızda mesaj yazabilirsiniz.
çıkış, exit veya quit yazıldığında döngü sona erer. Yanıtların yalnızca belirli kelimelere bağlı olması, bu yaklaşımın sınırını gösterir: Kullanıcı aynı isteği farklı bir ifadeyle yazarsa program beklenmeyen yanıt verebilir.Hangi örnekle başlamalısınız?
Seçim, yapmak istediğiniz işe bağlıdır.
| Amaç | Uygun örnek | Sınır |
|---|---|---|
| Kısa metinleri gruplandırmak | Metin sınıflandırma | Eğitim verisi azsa yanılabilir |
| Sayısal değeri tahmin etmek | Regresyon | Veriler arasındaki ilişkiyi nedensellik olarak kanıtlamaz |
| Öngörülebilir birkaç yanıt vermek | Kural tabanlı yardımcı | Yeni ifadeleri ve bağlamı anlayamaz |
Kod çalışmazsa neyi kontrol etmelisiniz?
Önce hata mesajındaki dosya ve satır numarasını okuyun.
ModuleNotFoundError görürseniz ilgili paketi aynı Python kurulumu için python -m pip install scikit-learn komutuyla kurun. Türkçe karakter içeren dosyalarda dosyayı UTF-8 olarak kaydedin. Model çalışıyor ancak tahminler anlamsızsa sorun çoğunlukla koddan değil, eğitim örneklerinin az veya tek tip olmasından kaynaklanır; yeni ve dengeli örnekler ekleyip sonucu yeniden değerlendirin.