Naive Bayes classifier implemented in Swift
Swift Ruby
Permalink
Failed to load latest commit information.
Sources
SwiftNaiveBayes.xcodeproj Fix SwiftNaiveBayes.xcodeproj/project.pbxproj Nov 16, 2016
Tests Fix Tests Nov 16, 2016
logo
.gitignore Add .gitignore Nov 14, 2016
.swift-version .swift-version Nov 16, 2016
LICENSE
Package.swift Add Xcode project Nov 14, 2016
README.md Update README.md Nov 19, 2016
SwiftNaiveBayes.podspec Update SwiftNaiveBayes.podspec Nov 19, 2016

README.md

SwiftNaiveBayes

macOS LinuxCarthage compatible Swift Package Manager compatibleCocoaPods compatibleMIT License

Naive Bayes classifier implemented in Swift

Description

Implementation of Naive Bayes Classifier algorithm in Swift3.x, supporting Gaussian naive Bayes, Multinomial naive Bayes and Bernoulli naive Bayes

Usage

SwiftNaiveBayes is same as Scikit learn's interface.

import SwiftNaiveBayes

let nb = NaiveBayes()
// Positive tokens and the frequencies ["token A": Frequency of token A, ...]
let pos = ["computer": 3, "programming": 2, "python": 1, "swift": 2]
// Negative tokens ["token X": Frequency of token X, ...]
let neg = ["game": 2, "computer": 2, "video": 1, "programming": 1]
// Positive tokens for testing
let posTest = ["computer": 2, "ruby": 1, "swift": 1, "programming": 1]
// Train model
// ["Label A": ["token A": Frequency of token A, ...]]
nb.fit(["positive": pos, "negative": neg])
// Predicts log probabilities for each label
let logProbs = nb.predict(posTest)
print(logProbs) //=> ["positive": -8.9186205290602363, "negative": -10.227308671603783]
// Use method chaining
nb.fit(["positive": pos, "negative": neg]).predict(posTest)

// Save session
try! nb.save("nb.session")
// Restore session
let nb2 = NaiveBayes("nb.session")

Install

Swift Package Manager

Package.swift:

import PackageDescription

let package = Package(
    name: "MyApp",
    targets: [],
    dependencies: [
        .Package(url: "https://github.com/akimach/SwiftNaiveBayes.git", majorVersion: 1),
    ]
)

CocoaPods

Podfile:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
    pod 'SwiftNaiveBayes'
end

Carthage

Cartfile:

github "akimach/SwiftNaiveBayes"

Licence

MIT

Author

akimach