我在 csv 中有这个训练数据:
RoomType, HasWater
bathroom, true
living_room, false
storage, false
kitchen, true
...
Run Code Online (Sandbox Code Playgroud)
使用 golearn 训练数据。决策树(不确定决策树是否正确?)
func TrainData() {
...
//Do a training-test split
trainData, testData := base.InstancesTrainTestSplit(rawData, 0.50)
tree := trees.NewID3DecisionTree(0.6)
...
tree.Save('decissiontree.h')
}
Run Code Online (Sandbox Code Playgroud)
所以我将结果保存到这个二进制文件中。
我希望能够使用房间有水或没有水的概率的标签(房间类型)查询我的文件。
func HasWater(roomType: string):float64 {
tree := trees.NewID3DecisionTree(0.6)
tree.Load("model.h");
// What next??
}
Run Code Online (Sandbox Code Playgroud)
我在 golearn 中没有找到任何示例,说明您如何实际使用经过训练的二进制文件。我想我应该加载文件。但是然后呢?
对不起,基本问题。对 ML(和 GO)来说是全新的。
一种可能的方法是创建一个包含值的 csv 文件,您要对这些值进行预测并运行Predict这些值:
testData, err = base.ParseCSVToInstances("test.csv", false)
if err != nil {
panic(err)
}
_, testDataInstance = base.InstancesTrainTestSplit(testData, 1.0)
preds = tree.Predict(testDataInstance)
fmt.Println(preds.RowString(0))
Run Code Online (Sandbox Code Playgroud)
以下内容在哪里test.csv:
bathroom, false
Run Code Online (Sandbox Code Playgroud)