gpt4 book ai didi

encryption - 加密数据的机器学习

转载 作者:数据小太阳 更新时间:2023-10-29 03:25:19 26 4
gpt4 key购买 nike

我想使用 GO 在加密数据上实现机器学习模型(KNN 或随机森林)。

我的数据是用 HElib(同态加密)加密的,这意味着我仍然可以对加密数据执行 ADD 和 MUL。

我的问题是:我是否必须使用 GO 重新实现所有机器学习算法,或者我可以使用一些“golearn”库吗?

使用 golearn 库的 GO 的 KNN 实现示例:

rawData, err := base.ParseCSVToInstances("../datasets/iris_headers.csv", true)
if err != nil {
panic(err)
}

//Initialises a new KNN classifier
cls := knn.NewKnnClassifier("euclidean", "linear", 2)

//Do a training-test split
trainData, testData := base.InstancesTrainTestSplit(rawData, 0.50)
cls.Fit(trainData)

//Calculates the Euclidean distance and returns the most popular label
predictions, err := cls.Predict(testData)
if err != nil {
panic(err)
}
fmt.Println(predictions)

// Prints precision/recall metrics
confusionMat, err := evaluation.GetConfusionMatrix(testData, predictions)
if err != nil {
panic(fmt.Sprintf("Unable to get confusion matrix: %s", err.Error()))
}
fmt.Println(evaluation.GetSummary(confusionMat))

谢谢

最佳答案

您需要创建自己的基础 csv 包的解密版本; https://github.com/sjwhitworth/golearn/blob/master/base/csv.go

然后,您可以照常将客户 ParseCSVToInstances 函数的原始数据输出传递给 KNN 函数 InstancesTrainTestSplit

关于encryption - 加密数据的机器学习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43676520/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com