1. Giriş
Son güncelleme: 10.05.2024
Kaggle nedir?
Kaggle, dünyadaki en büyük yapay zeka ve Her seviyeden veri bilimi ve makine öğrenimi meraklılarının en yeni teknik ve teknolojilere seviye atlatmak için kullanabileceği en iyi platform olan makine öğrenimi topluluğu. Yeni 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 tüm dünyadan 18 milyondan fazla kullanıcının oluşturduğu zengin toplulukla bağlantı kurun. İster acemi ister tecrübeli bir profesyonel olun Kaggle ile becerilerinizi geliştirebilir, bir adım önde olmak ve en son teknolojiye sahip projelerde ortak çalışmalar yürütebilirsiniz.
Oluşturacaklarınız
Bu codelab'de bir kaggle yarışması oluşturacak, yapılandıracak ve başlatacaksınız. Rakiplerin deneyimini inceleyecek ve ilgi çekici bir rekabet ortamına sahip olmaya yönelik en iyi uygulamaları öğreneceksiniz.
Neler öğreneceksiniz?
- Kaggle yarışmasının sunucu tarafından nasıl oluşturulacağını ve yönetileceğini anlama
- Keşiften gönderime kadar rakip deneyiminde gezinme
- İlgi çekici bir yarışma yürütmeye yönelik en iyi uygulamaları öğrenin
Bu codelab'de, hızlıca yarışma oluşturmaya odaklanılmakta ve Kaggle'ın büyüyen rekabet kitaplığından yararlanılmaktadır.
Gerekenler
- Yeni bir web tarayıcısı
- Python ile ilgili temel bilgiler
2. Kurulum
Kaggle Hesabı oluşturma
Kaggle web sitesini (https://www.kaggle.com/) ziyaret edin ve "Register"i (Kaydol) tıklayın bir ücretsiz hesap oluşturun.
Hesabınızı doğrulama
- Sayfanın sağ üst köşesindeki profil resminizi tıklayın
- "Profiliniz"i tıklayın
- "Ayarlar"ı tıklayın profil içeriğinin sağ tarafındaki düğme
- "Telefon Doğrulaması" bölümünün altında Hesap doğrulama talimatlarını uyguladığında
3. İlk rakibinizi oluşturma
Yapay zeka tarafından üretilmiş yarışma şablonları ile tanışın
Yapay Zeka Tarafından Üretilmiş Yarışmalar, kullanıcıların hızlı ve kolay bir şekilde makine öğrenimi yarışmaları oluşturmasına olanak tanıyan, Kaggle'daki yeni bir özelliktir. Yapay zekadan yararlanarak kimliği tanımlayabilecek bilgiler içermeden mevcut veri kümelerinin istatistiksel özelliklerini taklit eden sentetik veri kümeleri oluşturur.
İşleyiş şekli:
- Şablon seçin: Farklı makine öğrenimi görevlerine (ör. sınıflandırma, regresyon) dayanan bir şablon listesinden seçim yapın.
- Yapay zeka bir veri kümesi oluşturur: Kaggle'ın yapay zekası, seçtiğiniz şablona göre rakipleriniz için yeni bir veri kümesi oluşturur. Bu veri kümesi orijinale benzer ancak bazı özellikleri kullanır ve özellik dağılımları biraz farklıdır.
- Rakiplerinizi özelleştirin: Yarışmanın adı, açıklaması ve zaman çizelgesi gibi temel bilgileri girin. Rakiplerinizin gizlilik ayarlarını da seçebilirsiniz.
- Lansman: Ayrıntıları bitirip bir lansman yaptıktan sonra yarışmanızı başlatmaya hazırsınız demektir.
Bu özellik, yarışma oluşturma sürecini kolaylaştırarak daha fazla kullanıcının erişmesini sağlar ve veri kümesi hazırlığı yerine makine öğrenimi özelliklerine odaklanmasını sağlar.
Yarışma oluşturma
https://www.kaggle.com/competitions/new adresine gidip "New AI Generated Rekabet"i (Yapay Zeka Tarafından Üretilmiş Yeni Rekabet) seçin.
"Yengeç Yaşı Veri Kümesiyle Regresyon"u seçin Rekabet.
Yarışma Ayrıntıları
Açıklayıcı bir ad ve alt başlık girin. Örneğin, "<Your Names>'s Test Crab Contest"i kullanabilirsiniz. ve "Nasıl çalıştığını görmek için ilk yarışmamı oluşturmak" gibi bu seçeneği belirleyin. Yarışma URL'sinin başlığa göre otomatik olarak doldurulduğunu unutmayın.
Görünürlük ve Erişim
Şimdi de rekabet için görünürlük ve erişimi ayarlamamız gerekiyor.
Görünürlük
- Herkese açık: Rakipleriniz, Kaggle'daki herkes tarafından görülebilir. Arama sonuçlarında görüneceği için ilgilenen herkes katılabilir.
- Gizli: Rakipleriniz herkese açık görünümden gizlenir. Bu görüşme aramalarda görünmez ve yalnızca özel olarak davet ettiğiniz kullanıcılar katılabilir.
Kimler katılabilir?
- Herkes: Bu, açık kapı politikası gibidir. Kaggle'daki herkes rakiplerinize katılabilir.
- Yalnızca bağlantıya sahip kişiler: Bu daha özeldir. Özel bir bağlantı oluşturursunuz ve yalnızca bu bağlantıyı alan kullanıcılar katılabilir.
- Kısıtlanmış e-posta listesi: Bu, en kontrol edilen seçenektir. Belirli e-posta adresleri veya alan adlarının (@okulunuz.edu gibi) bir listesini sağlarsınız ve yalnızca bu adreslere sahip kullanıcılar katılabilir.
Daha sonra Not defterlerini ve Modelleri Etkinleştir ayarı hakkında daha fazla bilgi vereceğiz. Şimdilik bu ayarın açık olduğundan emin olun. Örnek rekabetimizde bu ayarları Gizli ve Yalnızca bağlantıya sahip kişiler olarak belirleyin.
Şartları okuyup kabul edin ve "Yarışma Oluştur"u tıklayın.
4. Rakiplerinizi anlama ve yapılandırma
Perde arkasında benzersiz bir veri kümesiyle yepyeni bir rekabet yarattık. Yarışma ayarlarına hızlıca göz atalım.
Barındırıcı sekmesi
Düzenleyen sekmesinde, rakiplerinizi doğru şekilde yapılandırmak için ihtiyacınız olan her şeyi bulabilirsiniz. Özellikle sayfanın sağındaki sayfa listesine bakın:
Temel Ayrıntılar
Bu bölüm şunları içerir:
- Genel
- Gizlilik, Erişim ve Kaynaklar
- Zaman çizelgesi
- Puanlama ve Ekipler
Yarışmayı başlatırken Genel ve Gizlilik bölümlerini ele aldık.
Zaman Çizelgesi
Yarışmanın bitiş tarihi, saat dilimini dikkate alır.
Puanlama ve Ekip
Puanlama ve Ekip bölümü bir ekibe kaç kişinin katılabileceğini, her gün kaç kez gönderimde bulunabileceğini ve nihai değerlendirme için kaç tane gönderim seçmesi gerektiğini kontrol etmenize olanak tanır.
Resimler
Resimler, banner'ı ve küçük resmi rakiplerinize göre özelleştirmenize olanak tanır. Bu, yarışmanın ana sayfasını ve rakiplerinizin giriş girişini etkileyecektir.
Düzenleyenler
Burada diğer Kaggle kullanıcılarını rakiplerinize ev sahipliği yapacak olarak ekleyebilirsiniz. Diğer düzenleyenler, rakiplerinize tam erişime (başlatma dahil) sahip olur.
Değerlendirme Metriği
Değerlendirme Metriği sekmesi rekabetin temelini oluşturur. Sıfırdan bir yarışma 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 grubunu tanımlamanız ve örnek bir gönderim sağlamanız gerekir. Ancak oluşturulmuş bir rekabet kullandığımız için herhangi bir işlem yapmamız gerekmiyor.
Puanlama Metriği
Bu, bir gönderimin çözüm dosyasına göre nasıl puanlanacağını belirler. Her metrikle ilgili belgeler ve gerçek kod mevcuttur.
Çözüm Dosyası
Oluşturulmuş bir rekabet kullandığımız için bu dosya rakiplerinize özeldir.
Çözüm Örneklemesi, yarışma sırasında gönderimleri puanlamak için kullanılan çözüm dosyası miktarını (herkese açık skor tablosu) ve nihai skor tablosunu belirlemek için kullanılacak satır sayısını ayarlamanıza olanak tanır. Yarışma sırasında kullanıcılar, (Puanlı Özel Gönderimler ayarına bağlı olarak) son skor tablosu için hangi gönderimlerinin kullanılacağını (burada Özel Skor Tablosu olarak adlandırılır) seçmelerine izin verilir.
Bu süreç, rakiplerin fazla ücret ödeme veya çok fazla gönderim nedeniyle ödüllendirilmemesini sağlar.
Korumalı Alan Gönderimleri
Bunlar, yarışmayı düzenleyen kişilerin puanlamanın beklendiği gibi yapılmasını ve "karşılaştırma" ayarını yapmasını sağlar e-postalara yanıt verebilirsiniz. Bu karşılaştırma gönderimleri skor tablosunda gösterilir.
Ekipler ve Gönderimler
Yarışma sırasında bu, düzenleyenler tüm skorları indirmelerine ve takımları yönetmelerine olanak tanır. Yarışma başlamadan önce bu alan boş bırakılır.
Launch Checklist
Bu konuyu bir sonraki bölümde ele alacağız.
5. Rakiplerinizi başlatma
Yarışma sayfasının üst kısmından "Lansman Kontrol Listesi"ni tıklayın düğmesini tıklayın.
Launch Checklist
Lansman Kontrol Listesi'nde, bir yarışma başlatmadan önce uygulanması gereken adımlar gösterilir. Zaten bir yarışma şablonuyla başladığımız için bu adımların çoğu tamamlanmış durumda. Kalan yalnızca iki görev var: bir teslim tarihi belirlemek ve yarışma kurallarını güncellemek.
Son tarih belirleyin
Önce Son Tarih Belirle'nin yanındaki oku tıklayın. Yarışmalar genellikle en az birkaç ay sürer. Yarışmalar için maksimum süre bir yıldır.
Kuralları Düzenleme
Rekabet kurallarınızın, başlatılmadan önce varsayılan şablona göre güncellenmesi gerekir. Bu yarışmayı bir sınıf veya grup için düzenliyorsanız orası beklentiler hakkında bilgi koymak için iyi bir yerdir.
Lansman
Lansmana hazırız. Siz de yarışmaya başlayın. Artık rakiplerinizin de katılması için hazırsınız.
6. Rakip Deneyimi
Rakiplerinizi başlattığınıza göre şimdi rakiplerin deneyimine bir göz atalım. Yarışmaya katılma ve başvuru gönderme konularına değineceğiz. Bunun için şu adresten Google KS Demo Yarışması'na katılabilirsiniz: https://www.kaggle.com/competitions/google-io-demo-competition
Yarışmaya katılma
Yarışma ana sayfasına gittikten sonra "Yarışmaya Katıl"ı tıklayın. düğmesini tıklayın, ardından kuralları okuyup onayla.
İlk gönderiminizi yapma
Kod sekmesine gidin ve "Yeni Not Defteri"ni tıklayın. Yarışmaya göndermek için kullanabileceğiniz bir not defteri açılır.
İlk olarak eğitim ve test verilerini okuyacağız.
Ⰳ# test ve eğitim verilerini okuyun
tren = pd.read_csv('/kaggle/input/google-io-demo-comcation/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-comcation/test.csv')
Verilere göz atalım.
Ⰳ# Bazı verilere göz atın
train.head()
Şimdi verileri eğitim için hazırlayalım. Bu örnekte, Sex'i çıkarırız çünkü bu sayı sayısal bir değer değildir. (İpucu: Bunu nasıl ekleyeceğinizi bulmak, modelinizin performansını artıracaktır).
Ⰳ # sonuçları, test verilerinden çıkarıyor
data = training.drop(columns=["Yaş", "Cinsellik"])
cevaplar = eğitim[‘Yaş']
Sonra bir model oluşturuyoruz. Bu örnekte, rastgele bir orman modeli kullanıyoruz.
Model için 氃# içe aktarma işlemi
sklearn.model_selection içe aktarma işlemini tren_test_split'ten yapın
sklearn.ensemble içe aktarma RandomForestRegressor'dan
sklearn.metrics içe aktarma ortalama_mutlu hata kodu
model = RandomForestRegressor()
# modeli eğitme
model.fit(veriler; yanıtlar)
Gönderim oluşturun:
氃predictions = model.predict(test.drop(columns=[Seks']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submit.to_csv("submission.csv"; index=False)
Daha sonra, "Yarışmaya Gönder"i seçerek yarışmaya başvurabilirsiniz. tıklayın.
Mükemmel bir rekabet yürütmeyle ilgili ipuçları
- Temel gönderim için bir başlangıç not defteri eklediğinizden emin olun.
- Yarışmanın başlarında tartışma kullanımını ve not defterlerini paylaşmayı teşvik edin.
- Eğlenin