Можно ли интегрировать извлечение функций в модель/конвейер Core ML?Python

Программы на Python
Anonymous
Можно ли интегрировать извлечение функций в модель/конвейер Core ML?

Сообщение Anonymous »

У меня есть модель Core ML (.mlmodel), которую я затем могу использовать в коде Swift, используя платформу Core ML для прогнозирования. Однако извлечение функций также происходит в этом коде. В настоящее время я использую .mlmodel, который был создан путем преобразования модели sklearn с помощью coremltools, но также знаю, как создать .mlmodel с помощью CreateML.
Можно ли это сделать извлечение признаков как часть модели (или конвейера), чтобы остальная часть кода могла остаться прежней в случае изменения модели?
Это означает, что в примере кода ниже есть не будет необходимости в функциях extractFeatures, поскольку .mlmodel будет содержать их внутри, и ей нужно будет только получать входные данные.
Я пытался создать конвейер использует sklearn Pipeline, но он не преобразуется в .mlmodel, поскольку не поддерживает пользовательские функции предварительной обработки как часть конвейера.
import CoreML

// Function to extract and calculate features
func extractFeatures(bedrooms: Double, size: Double, age: Double) -> [Double] {
let additionalSpace = 0.1 * size
let totalSize = size + additionalSpace
let totalRooms = bedrooms + 1
return [totalRooms, totalSize, age]
}

// Function to predict house price using the ML model
func predictHousePrice(bedrooms: Double, size: Double, age: Double) -> Double {
let model = try! HousePricePredictor(configuration: .init())

let features = extractFeatures(bedrooms: bedrooms, size: size, age: age)

let inputArray = try! MLMultiArray(shape: [3], dataType: .double)
for (index, feature) in features.enumerated() {
inputArray[index] = NSNumber(value: feature)
}

let prediction = try! model.prediction(input: HousePricePredictorInput(features: inputArray))
return prediction.price
}

// Usage example
let price = predictHousePrice(bedrooms: 3, size: 2000, age: 10)
print("Predicted house price: \(price)")


Подробнее здесь: https://stackoverflow.com/questions/787 ... l-pipeline

Вернуться в «Python»