タブ区切りのテキストファイルをBreeze DenseMatrixに読み込みたい。 ScalaDocにはこれが可能であり、I/Oクラス全体がありますが、例は見つからず、ScalaDocを消化するのは難しいです。Scala Breezeのファイルから行列を読み取る
誰かが簡単な読み書きの例を提供できますか?
タブ区切りのテキストファイルをBreeze DenseMatrixに読み込みたい。 ScalaDocにはこれが可能であり、I/Oクラス全体がありますが、例は見つからず、ScalaDocを消化するのは難しいです。Scala Breezeのファイルから行列を読み取る
誰かが簡単な読み書きの例を提供できますか?
scala.io.Source
を使用すると、ファイルからタブ区切りのデータを読み取ることができます。
いくつかのサンプルデータ:
0 1 2 3 4 5
6 7 8 9 10 11
DenseMatrix
コンストラクタの一つは、私はそれを使用します。このフォームnew DenseMatrix(rows: Int, data: Array[V], offset: Int = 0)
を持っています。 Array[Int]
としてデータを取得後
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.size
res 0:Int = 2
:
scala> scala.io.Source.fromFile("TabDelimited.txt").getLines.toArray.flatMap(_.split("\t")).map(_.toInt)
res1: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
その後res0
とres1
は新しいDenseMatrix
を作成するために使用することができます
は、行の数を取得します。
はdensematrixにcsvファイルを読むための方法はあり
import breeze.linalg._
import java.io._
val matrix=csvread(new file("your file localtion"),'$seperator')
API:http://www.scalanlp.org/api/breeze/index.html#breeze.linalg.package
scalaは大文字小文字を区別する言語であり、" file "は" File "でなければなりません。 "valマトリクス= csvread(新しいファイル(あなたのファイルlocaltion)、" $ seperator ")" –
おかげで、RES1でそれを読むときには行優先順にあったとコンストラクタは、列優先期待していたが。だから私が使用したコンストラクタは 'DenseMatrix(res1.size/res0).t' –