1. Giriş

Last Updated: 2024-05-10
Kaggle nedir?
Kaggle, en büyük yapay zeka ve makine öğrenimi topluluğudur. Her seviyeden veri bilimi ve makine öğrenimi meraklısının en yeni teknikler ve teknolojilerle seviye atlayabileceği nihai platformdur. Bir sonraki projenize başlamak için veri kümeleri, not defterleri ve önceden eğitilmiş modellerden oluşan geniş bir depoyu keşfedin. Yarışmalara katılın, kurslardan bilgi edinin ve dünyanın dört bir yanından 18 milyonu aşkın kullanıcının yer aldığı çeşitli bir toplulukla bağlantı kurun. İster yeni başlayan ister deneyimli bir profesyonel olun, Kaggle becerilerinizi geliştirebileceğiniz, trendleri takip edebileceğiniz ve son teknoloji projelerde ortak çalışabileceğiniz bir platformdur.
Ne oluşturacaksınız?
Bu codelab'de bir Kaggle yarışması oluşturacak, yapılandıracak ve başlatacaksınız. Rakiplerin deneyimini inceleyip ilgi çekici bir yarışma düzenlemeyle ilgili en iyi uygulamaları öğreneceksiniz.
Neler öğreneceksiniz?
- Düzenleyen tarafında Kaggle yarışması oluşturma ve yönetme hakkında bilgi edinme
- Keşiften gönderime kadar rakip deneyiminde gezinme
- İlgi çekici yarışmalar düzenlemeyle ilgili en iyi uygulamaları öğrenin
Bu codelab'de, hızlı bir şekilde yarışma oluşturmaya odaklanılır ve Kaggle'ın büyüyen yarışma kitaplığından yararlanılır.
Gerekenler
- Güncel bir web tarayıcısı
- Python hakkında temel bilgiler
2. Hazırlanma
Kaggle hesabı oluşturma
Kaggle web sitesini (https://www.kaggle.com/) ziyaret edip "Register" (Kaydol) seçeneğini tıklayarak ücretsiz bir hesap oluşturun.
Hesabınızı doğrulama
- Sayfanın sağ üst köşesindeki profil resminizi tıklayın.
- "Profiliniz"i tıklayın.
- Profil içeriğinin sağ tarafındaki "Ayarlar" düğmesini tıklayın.
- "Telefon Doğrulaması" bölümünde, hesabınızı doğrulamak için talimatları uygulayın.
3. İlk yarışmanızı oluşturma
Yapay zekayla üretilen yarışma şablonları
Yapay Zeka Tarafından Oluşturulan Yarışmalar, Kaggle'da kullanıcıların makine öğrenimi yarışmalarını hızlı ve kolay bir şekilde oluşturmasına olanak tanıyan yeni bir özelliktir. Kişiyi tanımlayabilecek bilgiler içermeden mevcut veri kümelerinin istatistiksel özelliklerini taklit eden sentetik veri kümeleri oluşturmak için yapay zekadan yararlanır.
İşleyiş şekli:
- Şablon seçme: Farklı makine öğrenimi görevlerine (ör. sınıflandırma, regresyon) göre şablon listesinden seçim yapın.
- Yapay zeka veri kümesi oluşturur: Kaggle'ın yapay zekası, seçtiğiniz şablona göre yarışmanız için yeni bir veri kümesi oluşturur. Bu veri kümesi, orijinaline benzer ancak özelliklerin bir alt kümesini kullanır ve özellik dağılımları biraz farklıdır.
- Yarışmanızı özelleştirin: Yarışma adı, açıklaması ve zaman çizelgesi gibi temel bilgileri girin. Ayrıca yarışmanızın gizlilik ayarlarını da seçebilirsiniz.
- Lansman: Ayrıntıları netleştirip lansman tarihini belirledikten sonra yarışmanızı başlatabilirsiniz.
Bu özellik, yarışma oluşturma sürecini kolaylaştırarak daha fazla kullanıcının erişebilmesini sağlar ve veri kümesi hazırlama yerine makine öğrenimi yönlerine odaklanmalarına olanak tanır.
Yarışma oluşturma
https://www.kaggle.com/competitions/new adresine gidin ve "New AI Generated Competition"ı (Yeni Yapay Zeka Tarafından Üretilen Yarışma) seçin.

"Regression with a Crab Age Dataset" (Yengeç Yaşı Veri Kümesiyle Regresyon) yarışmasını seçin.
Yarışma Ayrıntıları

Açıklayıcı bir ad ve altyazı girin. Örneğin, başlık olarak "<Adlarınız>'ın Yengeç Testi Yarışması", alt başlık olarak da "Nasıl çalıştığını görmek için ilk yarışmamı oluşturuyorum" ifadesini kullanabilirsiniz. Yarışma URL'sinin başlığa göre otomatik olarak doldurulduğunu unutmayın.
Görünürlük ve Erişim
Şimdi yarışmanın görünürlük ve erişim ayarlarını yapmamız gerekiyor.
Görünürlük
- Herkese açık: Yarışmanız, Kaggle'daki herkes tarafından görülebilir. Arama sonuçlarında gösterileceği için ilgilenen herkes katılabilir.
- Gizli: Yarışmanız herkese açık görünümden gizlenir. Arama sonuçlarında görünmez ve yalnızca özel olarak davet ettiğiniz kişiler katılabilir.
Kimler katılabilir?
- Herkes: Bu, açık kapı politikasına benzer. Kaggle'daki herkes yarışmanıza katılabilir.
- Yalnızca bağlantısı olan kişiler: Bu seçenek daha sınırlıdır. Özel bir bağlantı oluşturursunuz ve yalnızca bu bağlantıya sahip olan kişiler katılabilir.
- Kısıtlanmış e-posta listesi: Bu, en kontrollü seçenektir. Belirli e-posta adreslerinin veya alan adlarının (ör. @okulunuz.edu) listesini sağlarsınız ve yalnızca bu adreslere sahip kişiler katılabilir.
Not Defterlerini ve Modelleri Etkinleştir ayarından daha sonra bahsedeceğiz. Şimdilik bu ayarın etkin olduğundan emin olun. Örnek yarışmamız için bu ayarları Özel ve Yalnızca bağlantıya sahip olanlar olarak belirleyin.
Şartları okuyup kabul edin ve "Yarışma Oluştur"u tıklayın.
4. Rakiplerinizi anlama ve yapılandırma
Kamera arkasında, benzersiz bir veri kümesiyle tamamen yeni bir yarışma oluşturduk. Yarışma ayarlarına hızlıca göz atalım.
Düzenleyen sekmesi
Düzenleyen sekmesinde, yarışmanızı düzgün şekilde yapılandırmak için ihtiyacınız olan her şey bulunur. Özellikle sayfanın sağ tarafındaki sayfa listesine bakın:

Temel Ayrıntılar
Bu bölümde şunlar yer alır:
- Genel
- Gizlilik, Erişim ve Kaynaklar
- Zaman çizelgesi
- Puanlama ve Takımlar
Yarışmayı başlatırken Genel ve Gizlilik bölümlerini ele almıştık.
Zaman Çizelgesi
Yarışmanın bitiş tarihi saat dilimine göre belirlenir.

Puanlama ve Takım
Puanlama ve Ekip bölümünde, bir ekibe kaç kişinin katılabileceğini, her gün kaç kez gönderim yapabileceklerini ve son değerlendirme için kaç gönderim seçmeleri gerektiğini kontrol edebilirsiniz.

Resimler
Resimler, yarışmanızın banner'ını ve küçük resmini özelleştirmenize olanak tanır. Bu durum, yarışmanın ana sayfasını ve yarışmanızın listeleme girişini etkiler.

Düzenleyenler
Burada, diğer Kaggle kullanıcılarını yarışmanızın düzenleyicisi olarak ekleyebilirsiniz. Diğer sunucular, yarışmanıza tam erişime (başlatma dahil) sahip olur.

Değerlendirme metriği
Değerlendirme Metriği sekmesi, yarışmanın kalbidir. Yarışmayı sıfırdan oluştururken hangi değerlendirme (veya puanlama) metriğinin kullanılacağı konusunda dikkatli bir şekilde düşünmeniz, çözüm dosyanızı yüklemeniz, herkese açık/özel test ayrımını tanımlamanız ve örnek bir gönderim sağlamanız gerekir. Ancak oluşturulmuş bir yarışma kullandığımız için bunların hiçbirini yapmamıza gerek yok.
Puanlama metriği
Bu, bir gönderimin çözüm dosyasına göre nasıl puanlanacağını belirler. Her metriğin belgeleri ve gerçek kodu mevcuttur.
Çözüm Dosyası
Oluşturulmuş bir yarışma kullandığımız için bu dosya yarışmanıza özeldir.

Çözüm örnekleme, yarışma (herkese açık skor tablosu) sırasında gönderilere puan vermek için kullanılan çözüm dosyası miktarını, nihai skor tablosunu belirlemek için kullanılan satır sayısına göre ayarlamanıza olanak tanır. Yarışma sırasında kullanıcılar, gönderilerinden hangilerinin son skor tablosunda (burada özel skor tablosu olarak adlandırılır) kullanılacağını seçebilir (Puanlı Özel Gönderimler ayarına göre).
Bu süreç, rakiplerin aşırı uyum veya gönderi bombardımanı nedeniyle ödüllendirilmemesini sağlar.
Korumalı alan gönderimleri
Bu sayede yarışma düzenleyicileri, puanlamanın beklendiği gibi çalıştığından emin olabilir ve rakiplerin karşılaştırabileceği "karşılaştırma" gönderimleri belirleyebilir. Bu karşılaştırma gönderimleri, skor tablosunda gösterilir.
Ekipler ve Gönderimler
Bu özellik, yarışma sırasında düzenleyenlerin tüm puanları indirmesine ve takımları yönetmesine olanak tanır. Yarışma başlamadan önce bu alan boştur.
Launch Checklist
Bu konuya sonraki bölümde değineceğiz.
5. Yarışmanızı başlatma
Yarışma sayfasının üst kısmındaki "Lansman Kontrol Listesi" düğmesini tıklayın.
Launch Checklist
Lansman Kontrol Listesi, yarışma başlatmadan önce yapılması gereken adımları gösterir. Yarışma şablonuyla başladığımız için bu adımların çoğu zaten tamamlandı. Yalnızca iki görev kaldı: son tarih belirleme ve yarışma kurallarını güncelleme.

Son tarih belirleme
Öncelikle son tarihin yanındaki oku tıklayın. Yarışmalar genellikle en az birkaç ay sürer. Yarışmaların maksimum süresi bir yıldır.
Kuralları Düzenleme
Yarışma kurallarınız, başlatmadan önce varsayılan şablondan güncellenmelidir. Bu yarışmayı bir sınıf veya grup için düzenliyorsanız beklentilerle ilgili bilgileri buraya ekleyebilirsiniz.
Lansman
Başlatmaya hazırız. Yarışmanızı başlatın. Artık rakiplerin katılmasına izin verebilirsiniz.
6. Rakip Deneyimi
Yarışmanızı başlattığınıza göre şimdi de katılımcı deneyiminin nasıl olduğuna bakalım. Yarışmaya katılma ve gönderim gönderme konularını ele alacağız. Bu yarışmaya https://www.kaggle.com/competitions/google-io-demo-competition adresinden katılabilirsiniz.
Yarışmaya katılma
Yarışmanın ana sayfasına gittikten sonra sağ üstteki "Join Competition" (Yarışmaya Katıl) düğmesini tıklayın, ardından kuralları okuyup onaylayın.
İlk gönderiminizi yapma
Kod sekmesine gidin ve "Yeni Not Defteri"ni tıklayın. Bu işlem, yarışmaya katılabileceğiniz bir not defteri açar.
İlk olarak eğitim ve test verilerini okuyacağız.
# read the test and train data
train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
Verilere göz atalım.
# verilerden bazılarına göz atın.
train.head()
Eğitim için verileri hazırlayalım. Bu durumda, sayısal bir değer olmadığından Cinsiyet'i çıkarırız. (İpucu: Bunu nasıl dahil edeceğinizi bulmak modelinizin performansını artırır.)
Test verilerinden sonuçları bırakma
data = train.drop(columns=[‘Age', ‘Sex'])
answers = train[‘Age']
Ardından bir model oluştururuz. Bu örnekte, rastgele orman modeli oluşturuyoruz.
Model için # içe aktarma işlemi
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
model = RandomForestRegressor()
# train the model
model.fit(data, answers)
Gönderim oluşturma:
predictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submission.to_csv('submission.csv', index=False)
Ardından, sağ taraftaki yan menüden "Yarışmaya Gönder"i seçerek yarışmaya katılabilirsiniz.

Başarılı bir yarışma düzenlemeyle ilgili ipuçları
- Temel bir gönderim yapan bir başlangıç not defteri eklediğinizden emin olun.
- Yarışmanın başlarında tartışma ve not defteri paylaşımını teşvik edin.
- İyi eğlenceler!

