1 回答
TA贡献1796条经验 获得超4个赞
golearn
->knn
实现 k 最近邻算法。它是由
将 csv 文件解析为矩阵
(
Predict
函数) 使用不同算法计算向量之间的距离在执行此步骤时,所有非数字字段都将被删除。非数字字段被假定为该模型正在训练的标签。
欧几里得
曼哈顿
余弦
类别/标签或
Attributes
定义在csv
, 在预测列表中返回,一对形式的值(index,predicted Attribute)
。
我如何有选择地传入预测变量并预测
在knn
您可以通过将 csv 中的预测目标标记为非整数值来做到这一点。例如 ( Iris-setosa
, Iris-versicolor
)。
线性回归
你可以使用AddClassAttribute()
,这个方法是在DenseInstances
struct 上定义的,它是base.ParseCSVToInstances()
方法的输出。
这样做的代码看起来像
instances, err := base.ParseCSVToInstances("../examples/datasets/exams.csv", true) // true: means first line of csv is headers.
attrArray:=instances.AllAttributes()
instances.SetClassAttribute(attrArray[4])//setting final column as class attribute, note that there cannot be more than one class attribute for linear regression.
trainData, testData := base.InstancesTrainTestSplit(instances, 0.1)
lr := NewLinearRegression()
err := lr.Fit(instances)
if err!=nil{
// error handling
}
predictions, err := lr.Predict(testData)
if err!=nil{
// error handling
}
警告:-> 在线性回归给出的测试文件中,所有这些都没有完成。我不会声称上述方法是分配回归目标的正确方法或最佳方法。
这是一种可能的方式。它成为线性回归函数的候选对象Fit(),这是该模型的计算发生的地方。Predict()函数仅将有限的线性回归系数集相乘并将该值存储为预测。
- 1 回答
- 0 关注
- 132 浏览
添加回答
举报