HRLClassifier 3.0.2

HRLClassifier 3.0.2

测试已测试
语言语言 SwiftSwift
许可 MIT
发布最后发布2018 年 4 月
SPM支持 SPM

Enrique de la Torre 维护。



  • Enrique de la Torre

HRLClassifier

CI Status codecov.io Version Docs

使用机器学习预测一个人是否在工作(锻炼)基于他们的心率。

示例

要运行示例项目,请克隆库,并在 Example 目录中首先运行 pod install

安装

HRLClassifier 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行:

pod "HRLClassifier"

用法

import HRLClassifier

let filename = "/path/to/archive"

let baseDate = Date(timeIntervalSinceReferenceDate: 0)
let dayInterval = 24 * 60 * 60
let maxBPM = 200

// Fill data frame
var auxDataFrame = NSKeyedUnarchiver.unarchiveObject(withFile: filename) as? DataFrame
if auxDataFrame == nil {
    auxDataFrame = DataFrame()

    for i in 0..<7 {
        for _ in 0..<80 {
            let timeInterval = i * dayInterval + Int(arc4random_uniform(UInt32(dayInterval)))

            let date = baseDate.addingTimeInterval(TimeInterval(timeInterval))
            let bpm = Float(arc4random_uniform(UInt32(maxBPM)))
            let record = Record(date: date, bpm: bpm)

            let isWorkingOut = arc4random_uniform(2) == 1 ? true : false

            auxDataFrame!.append(record: record, isWorkingOut: isWorkingOut)
        }
    }
}

let dataFrame = auxDataFrame!

// Make classifier
guard let classifier = try? ClassifierFactory().makeClassifier(dataFrame: dataFrame) else {
    print("Given that all records are created in a random fashion, this is expected")

    return
}

// Archive data frame
NSKeyedArchiver.archiveRootObject(dataFrame, toFile: filename)

// Predict
let date = baseDate.addingTimeInterval(TimeInterval(7 * dayInterval))
let bpm = Float(arc4random_uniform(UInt32(maxBPM)))
let record = Record(date: date, bpm: bpm)

let prediction = classifier.predictedWorkingOut(for: record)

print("At \(date) with \(bpm) bpm, is user working out? \(prediction)")

许可

HRLClassifier可在MIT许可下使用。更多信息请见LICENSE文件。