2

事前に返信いただきありがとうございます。このフォーラムでの回答は、私の研究において非常に貴重なものでした。私は言語パラダイムに関する研究プロジェクトの目的で F# を学習している学生であり、単純な k-means アルゴリズムで遊ぶためにhttp://trelford.com/blog/post/specialk.aspxのすばらしい例を利用しようとしています。 . 修正方法がわからないというエラーが表示され、何らかのガイダンスを期待していました。多くの義務があり、コードとエラーは次のとおりです。行に欠落資格エラーが発生しています。`Petal Width|]) 行

//コードはhttp://trelford.com/blog/post/specialk.aspxから

open System
open FSharp

type Iris = CsvProvider<irisDataFile>
let iris = Iris.Load(irisDataFile)
let irisData = iris.Data |> Seq.toArray
//
///// classifcations
let y = irisData |> Array.map (fun row -> row.Class)
/// feature vectors
let X = irisData |> Array.map (fun row -> 
  [|row.``Sepal Length`` 
    row.``Sepal Width`` 
    row.``Petal Length`` 
    row.``Petal Width`|])


//Computing k-means centroids:

let K = 3 // The Iris dataset is known to only have 3 clusters

let seed = 
  [|X.[0]; X.[1]; X.[2]|]  // pick bad centroids on purpose

let centroidResults = 
  KMeans.computeCentroids seed X |> Seq.take iterationLimit



(* K-Means Algorithm *)

/// Group all the vectors by the nearest center. 
let classify centroids vectors = 
  vectors |> Array.groupBy (fun v -> centroids |> Array.minBy (distance v))

/// Repeatedly classify the vectors, starting with the seed centroids
let computeCentroids seed vectors = 
  seed |> Seq.iterate (fun centers -> classify centers vectors |> Array.map (snd >> average))
4

1 に答える 1

3

ここでバックティックが 1 つ欠けているようです:

row.``Petal Width`|])

そのはず:

row.``Petal Width``|])
于 2013-10-31T22:19:43.247 に答える