PYTHONLA Bir Tümörün İyi Huylu Mu Yoksa Kötü Huylu Mu Olduğunu Tahmin Etme
Kaya Ridvan
PYTHONLA Bir Tümörün İyi Huylu Mu Yoksa Kötü Huylu Mu Olduğunu Tahmin Etme
PYTHONLA Bir Tümörün Ýyi Huylu Mu Yoksa Kötü Huylu Mu Olduðunu Tahmin Etme
# Kanser türlerini tanýmlayalým
cancer_types = ["Meme", "Akciðer", "Prostat", "Kolon", "Deri"]
# Kanser verilerini yükleyelim
import pandas as pd
data = pd.read_csv("cancer_data.csv")
# Verileri ön iþleyelim
data = data.dropna() # Eksik deðerleri atalým
data = data.drop("id", axis=1) # id sütununu atalým
data["diagnosis"] = data["diagnosis"].map({"M": 1, "B": 0}) # Tanýyý sayýsal deðere dönüþtürelim
# Verileri eðitim ve test olarak ayýralým
from sklearn.model_selection import train_test_split
X = data.drop("diagnosis", axis=1) # Girdi deðiþkenleri
y = data["diagnosis"] # Çýktý deðiþkeni
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # %80 eðitim, %20 test
# Yapay sinir aðý modelini oluþturalým
from tensorflow import keras
model = keras.Sequential([
keras.layers.Dense(32, activation="relu", input_shape=(30,)), # Giriþ katmaný
keras.layers.Dense(16, activation="relu"), # Gizli katman
keras.layers.Dense(1, activation="sigmoid") # Çýkýþ katmaný
])
# Modeli derleyelim
model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])
# Modeli eðitelim
model.fit(X_train, y_train, epochs=10, batch_size=32)
# Modelin performansýný deðerlendirelim
model.evaluate(X_test, y_test)
#Yazan Rýdvan Kaya
Bu kod, Python programlama dilini kullanarak bir yapay sinir aðý modeli oluþturmak ve eðitmek için yazýlmýþtýr. Yapay sinir aðlarý, insan beyninin çalýþma þeklini taklit eden yapay zeka algoritmalarýdýr. Bu algoritmalar, verilerden öðrenerek karmaþýk problemleri çözebilirler. Bu kodda, kanser verileri kullanýlarak bir yapay sinir aðý modeli eðitilir ve test edilir. Bu model, bir tümörün iyi huylu mu yoksa kötü huylu mu olduðunu tahmin etmeye çalýþýr. Bu kodun her bir satýrýný ayrýntýlý olarak açýklayacaðým:
python
# Kanser türlerini tanýmlayalým
cancer_types = ["Meme", "Akciðer", "Prostat", "Kolon", "Deri"]
Bu satýrda, kanser türlerini bir liste olarak tanýmlýyoruz. Bu liste, daha sonra verileri analiz etmek için kullanýlabilir.
python
# Kanser verilerini yükleyelim
import pandas as pd
data = pd.read_csv("cancer_data.csv")
Bu satýrda, pandas adlý bir kütüphaneyi içe aktarýyoruz. Pandas, veri analizi ve manipülasyonu için kullanýlan popüler bir Python kütüphanesidir. Ardýndan, cancer_data.csv adlý bir dosyadan kanser verilerini okuyoruz ve data adlý bir deðiþkene atýyoruz. Bu dosya, Wisconsin Üniversitesi’nden alýnan meme kanseri verilerini içerir.
python
# Verileri ön iþleyelim
data = data.dropna() # Eksik deðerleri atalým
data = data.drop("id", axis=1) # id sütununu atalým
data["diagnosis"] = data["diagnosis"].map({"M": 1, "B": 0}) # Tanýyý sayýsal deðere dönüþtürelim.
Bu satýrda, verileri ön iþliyoruz. Ön iþleme, verileri model için uygun hale getirmek için yapýlan bir adýmdýr. Bu adýmda, eksik deðerleri ve gereksiz sütunlarý atýyoruz. Ayrýca, taný sütununu sayýsal deðere dönüþtürüyoruz. Bu sütun, tümörün kötü huylu (M) veya iyi huylu (B) olduðunu gösterir. Biz, bu sütunu 1 veya 0 olarak kodluyoruz.
python
# Verileri eðitim ve test olarak ayýralým
from sklearn.model_selection import train_test_split
X = data.drop("diagnosis", axis=1) # Girdi deðiþkenleri
y = data["diagnosis"] # Çýktý deðiþkeni
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # %80 eðitim, %20 test
Bu satýrda, verileri eðitim ve test olarak ayýrýyoruz. Eðitim verileri, modeli eðitmek için kullanýlýr. Test verileri, modelin performansýný deðerlendirmek için kullanýlýr. Bu adýmda, sklearn adlý bir kütüphaneyi içe aktarýyoruz. Sklearn, makine öðrenimi için kullanýlan popüler bir Python kütüphanesidir. Ardýndan, girdi ve çýktý deðiþkenlerini tanýmlýyoruz. Girdi deðiþkenleri, tümörün özelliklerini içerir. Çýktý deðiþkeni, tümörün tanýsýný içerir. Son olarak, train_test_split fonksiyonunu kullanarak verileri %80 eðitim ve %20 test olarak bölüyoruz. Random_state parametresi, verilerin karýþtýrýlma þeklini belirler.
python
# Yapay sinir aðý modelini oluþturalým
from tensorflow import keras
model = keras.Sequential([
keras.layers.Dense(32, activation="relu", input_shape=(30,)), # Giriþ katmaný
keras.layers.Dense(16, activation="relu"), # Gizli katman
keras.layers.Dense(1, activation="sigmoid") # Çýkýþ katmaný
])
Bu satýrda, yapay sinir aðý modelini oluþturuyoruz. Bu adýmda, tensorflow adlý bir kütüphaneyi içe aktarýyoruz. Tensorflow, yapay zeka için kullanýlan popüler bir Python kütüphanesidir. Ardýndan, keras adlý bir alt kütüphaneyi kullanarak modelimizi tanýmlýyoruz. Modelimiz, üç katmandan oluþur: giriþ katmaný, gizli katman ve çýkýþ katmaný. Giriþ katmaný, verilerin modele girdiði katmandýr. Gizli katman, verilerin iþlendiði ve öðrenildiði katmandýr. Çýkýþ katmaný, modelin tahminini ürettiði katmandýr. Her katman, birim sayýsý, aktivasyon fonksiyonu ve giriþ þekli gibi parametreler alýr. Birim sayýsý, katmandaki nöron sayýsýný belirtir. Aktivasyon fonksiyonu, nöronun çýktýsýný hesaplamak için kullanýlan matematiksel fonksiyondur. Giriþ þekli, katmana giren verinin boyutunu belirtir.
python
# Modeli derleyelim
model.compile(optimizer="adam", loss="binary_crossentropy", metrics=["accuracy"])
Bu satýrda, modeli derliyoruz. Derleme, modelin eðitimi için gerekli ayarlarý yapmak anlamýna gelir. Bu adýmda, üç parametre belirtiyoruz: optimizer, loss ve metrics. Optimizer, modelin aðýrlýklarýný güncellemek için kullanýlan algoritmadýr. Loss, modelin hatalarýný ölçmek için kullanýlan fonksiyondur. Metrics, modelin performansýný deðerlendirmek için kullanýlan göstergedir.
python
# Modeli eðitelim
model.fit(X_train, y_train, epochs=10, batch_size=32)
Bu satýrda, modeli eðitiyoruz. Eðitim, modelin verilerden öðrenmesi anlamýna gelir. Bu adýmda, dört parametre belirtiyoruz: X_train, y_train, epochs ve batch_size. X_train ve y_train, eðitim verilerini içeren deðiþkenlerdir. Epochs, modelin eðitim verilerini kaç kez göreceðini belirtir. Batch_size, modelin her seferinde kaç veri noktasý iþleyeceðini belirtir.
python
# Modelin performansýný deðerlendirelim
model.evaluate(X_test, y_test)
Bu satýrda, modelin performansýný deðerlendiriyoruz. Deðerlendirme, modelin test verileri üzerinde ne kadar iyi çalýþtýðýný görmek anlamýna gelir. Bu adýmda, iki parametre belirtiyoruz: X_test ve y_test. X_test ve y_test, test verilerini içeren deðiþkenlerdir. Model, test verilerini kullanarak tahminler yapar ve loss ve metrics deðerlerini döndürür.
Bu kodu çalýþtýrmak için, Python programlama dilini bilgisayarýnýza kurmanýz gerekiyor. Python, ücretsiz ve açýk kaynaklý bir programlama dilidir. Python’u indirip kurun. Python’u kurduktan sonra, bir metin editörü veya bir geliþtirme ortamý kullanarak bu kodu bir dosyaya kaydedebilirsiniz. Dosyanýn adýný cancer_detection.py gibi bir þey yapabilirsiniz. Sonra, bir komut satýrý veya bir terminal açarak, dosyanýn bulunduðu klasöre gidin. Örneðin, dosyanýz Masaüstü klasöründe ise, cd Masaüstü komutunu yazabilirsiniz. Ardýndan, python cancer_detection.py komutunu yazarak, bu kodu çalýþtýrabilirsiniz. Bu komut, kodun ekrana çýktýlarýný gösterecektir. Bu kodu çalýþtýrmak için, ayrýca kanser verilerini içeren cancer_data.csv adlý bir dosyaya da ihtiyacýnýz olacak. Bu dosyayý indirin. Bu dosyayý, kodun bulunduðu ayný klasöre kaydetmeniz gerekiyor. Bu kodu çalýþtýrmak için, bu adýmlarý takip edebilirsiniz.
Sosyal Medyada Paylaşın:
(c) Bu şiirin her türlü telif hakkı şairin kendisine ve/veya temsilcilerine aittir.