Tüm açık kaynak paketler
Yapay ZekaSwift

SwiftAI

Saf Swift ile makine öğrenmesi: modelleri cihazda eğit, ölç ve kaydet.

9YıldızSon Sürüm: v2.0.0Güncellendi: 15 Ekim 2026
Platformlar:iOS 15macOS 12tvOS 15watchOS 8visionOS 1

Lisans: MIT

SwiftAI, Apple platformlarında klasik makine öğrenmesi için bir Swift paketi: sayı tablolarında sınıflandırma, regresyon, kümeleme ve boyut indirgeme. Veriyi CSV'den ya da dizilerden yüklersin, böler, tek bir fonksiyon çağrısıyla model eğitir, ölçer ve uygulamada yüklemek üzere JSON olarak kaydedersin; Python araç zinciri ya da sunucu gerekmez. Paketin hiçbir bağımlılığı yok.

Özellikler

  • On bir denetimli model: doğrusal ve ridge regresyon, lojistik regresyon, k-en yakın komşu, Gaussian naive Bayes, karar ağaçları, random forest ve sinir ağları; ayrıca k-means kümeleme ve temel bileşen analizi (PCA)
  • scikit-learn 1.9.1 ile karşılaştırılır: testler katsayıları, olasılıkları ve kümeleri karşılaştırır (örneğin lojistik regresyon olasılıkları 1e-5, PCA 1e-10 hassasiyetle)
  • Çökme yerine hata: geçersiz veri ya da ayar, neyin değişmesi gerektiğini söyleyen bir SwiftAIError fırlatır
  • Güvenli yükleme: modeller, scaler'lar ve pipeline'lar Codable; decode sırasında şekil, değer, sınıf listesi ve ağaç yapısı kontrol edilir
  • Tekrarlanabilir: her rastgele adım bir seed alır; aynı seed aynı modeli verir, ağaçları paralel eğitilen ormanlarda da
  • Pipeline, ön işlemeyi yalnız eğitim verisine fit eder ve sonraki her örneğe aynı şekilde uygular
  • Strict concurrency kontrollü Swift 6 dil modu; dört makaleli DocC kataloğu ve iOS ile macOS için ModelLab örnek uygulaması

Hızlı Başlangıç

swift
1import SwiftUI
2import SwiftAI
3 
4struct ContentView: View {
5 var body: some View {
6 Text(irisSummary())
7 .padding()
8 }
9 
10 func irisSummary() -> String {
11 do {
12 // 1. Split the built-in iris flowers into training and test samples.
13 let (training, test) = try Dataset.iris.stratifiedSplit(testFraction: 0.2, seed: 42)
14 // 2. Train a random forest on the training samples.
15 let model = try RandomForestClassifier.fit(training, seed: 42)
16 // 3. Measure it on the test samples and classify a new flower.
17 let accuracy = try model.accuracy(on: test)
18 let species = try model.predict([6.3, 2.8, 5.1, 1.5])
19 return "Test accuracy: \(accuracy.formatted(.percent))\nNew flower: \(species)"
20 } catch {
21 return error.localizedDescription
22 }
23 }
24}

Kurulum

Xcode (File › Add Package Dependencies…)

text
1https://github.com/muhittincamdali/SwiftAI.git

Swift Package Manager

swift
1dependencies: [
2 .package(url: "https://github.com/muhittincamdali/SwiftAI.git", from: "2.0.0")
3],
4targets: [
5 .target(name: "YourApp", dependencies: [
6 .product(name: "SwiftAI", package: "SwiftAI")
7 ])
8]

Ekran Görüntüleri

İris taç yaprağı ölçüleriyle eğitilmiş dört sınıflandırıcı: her birinin düzlem boyunca tahmin ettiği tür ve çapraz doğrulama doğruluğu (k-en yakın komşu %96,0, lojistik regresyon %95,3, karar ağacı %94,0, sinir ağı %96,0)
Karar sınırı görselinin koyu sürümü: iris taç yaprağı ölçüleriyle eğitilmiş dört sınıflandırıcı ve çapraz doğrulama doğrulukları

Zaman Çizelgesi

  1. Repo, uygulama mimarisi katmanları ve Vision/NLP kodu içeren geniş kapsamlı bir AI framework'ü olarak açıldı

  2. 1.0.0 sürümü yayımlandı; üç gün sonra uygulama mimarisi modülleri kaldırılıp daha küçük bir makine öğrenmesi çekirdeği yazıldı

  3. Sadeleştirme: testler tek bir yer tutucu dosyaya indi, küçük stub katmanlar eklendi

  4. Bağımlılıksız bir klasik makine öğrenmesi paketi olarak baştan kuruldu ve 2.0.0 olarak yayımlandı; 1.0.0 API'lerinin hiçbiri kalmadı

Bağlantılar

İlgili Yazı

Yazıyı Oku