對于一個項目,我想創建一個 Core ML 3 模型,該模型正在接收一些文本(即來自郵件)并對其進行分類。此外,模型應該是可更新的,并且可以在設備上進行訓練。因此,我發現 KNearestNeighborsClassifier 可以更新,并希望將它們用于我的方法。但是,首先我得到了一個錯誤" RuntimeWarning: You will not be able to run predict() on this Core ML model. Underlying exception message was: Error compiling model: "Error reading protobuf spec. validator error: KNearestNeighborsClassifier requires k to be a positive integer."在使用腳本創建這樣的模型時(見下文)。此外,我不確定如何正確使用 KNearestNeighborsClassifier 來解決我的問題。特別是,如果我想對一些文本進行分類,哪個維度是正確的?我將如何在應用程序中正確使用模型?也許你知道一些有用的指南,我還沒有找到=我創建 KNearestNeighborsClassifier 的腳本基于本指南:https ://github.com/apple/coremltools/blob/master/examples/updatable_models/updatable_nearest_neighbor_classifier.ipynb 我已經安裝并且正在使用 coremltools==3.0b6。這是我創建模型的實際腳本:number_of_dimensions = 128from coremltools.models.nearest_neighbors import KNearestNeighborsClassifierBuilderbuilder = KNearestNeighborsClassifierBuilder(input_name='input', output_name='output', number_of_dimensions=number_of_dimensions, default_class_label='defaultLabel', number_of_neighbors=3, weighting_scheme='inverse_distance', index_type='linear')builder.author = 'Christian'builder.license = 'MIT'builder.description = 'Classifies {} dimension vector based on 3 nearest neighbors'.format(number_of_dimensions)我希望您能幫助我,告訴我總體上我使用 KNearestNeighborsClassifier 進行文本分類的方法是否有意義,并希望您能幫助我成功創建 CoreML 模型。
1 回答

慕萊塢森
TA貢獻1810條經驗 獲得超4個贊
不知道為什么會出現該錯誤,但請確保您使用的是最新(測試版)版本的 coremltools(當前為 3.0b6)。
至于維數,您需要以某種方式將文本轉換為固定長度的向量。究竟如何做到這一點完全取決于您要解決的問題。
例如,您可以使用詞袋技術將短語轉換為這樣的向量。您可以為此使用詞嵌入、神經網絡或任何其他常用技術。
但是您需要一些方法將文本轉換為特征向量。
添加回答
舉報
0/150
提交
取消