カテゴリ値(文字列値)を持つデータセットを使用して機械学習モデルを訓練しようとしています。しかし、SparkモデルはString値で訓練することはできません。そのため、私はそれらを変換したり数値にインデックスを付けなければなりません。しかし、Sparkの唯一のStringトランスフォーマはStringIndexer
であることが判明しましたが、その文字列の頻度に基づいてStringsを索引付けするため、非常に信頼性が低いとわかりました。そして、テストファイルに文字列値の頻度同じままです。だから私は文字列変数のハッシュコードをインデックスとして使用することを考えました。私は簡単に行を繰り返し、列の値の列のハッシュコードを取得し、リストに格納することができます。しかし、私はモデルセットを訓練できるように、このリストをデータセットに追加する方法を知らない。リストは一番上の行から一番下の行まで並べられるので、そのリストを列に変換する方法を見つけようとしていましたが、Sparkにそのオプションがあるとは思いません。リストから新しい列を作成し、それを訓練データセットにどのように追加することができますか?インデックス文字列でHashcodeを使用
0
A
答えて
0
Sparkにはhash
という関数があり、別の列のハッシュ値を含むint列が作成されることが分かりました。
import org.apache.spark.sql.functions;
Column stringCol = new Column("stringValues");
trainingDF = trainingDF.withColumn("hashString", functions.hash(stringCol));
関連する問題
- 1. Java文字列hashCode null string
- 2. インデックス - 文字列
- 3. 文字列をインデックスとして使用する文字列変数のPHP isset()
- 4. Javaでインデックスを使用して一致する文字列
- 5. 「[インデックス:文字列]」:typescriptです
- 6. 文字列のインデックス
- 7. インデックスが文字列
- 8. C++:インデックスで文字列を変更
- 9. PostgreSQLの文字列型インデックス
- 10. postgresqlインデックスの文字列
- 11. インデックスの分割文字列
- 12. 負の文字列インデックス
- 13. 文字列インデックスSwift 3
- 14. Java文字列は、インデックス
- 15. 文字列のインデックスJavaメソッド
- 16. 文字列の '\'文字を文字列として使用
- 17. 文字列のインデックスで文字を取得
- 18. QComboBoxで文字列をインデックスとして使用できますか?
- 19. Matlab - 文字列値を使用して配列をインデックス化する
- 20. LINQを使用して分割後に文字列配列のインデックスを取得
- 21. 文字列インデックス - ここでは、インデックスエラー
- 22. Javaでの文字列インデックス付きコレクション
- 23. 文字列インデックスが範囲外です。
- 24. JSONデータベースから文字列用の文字列を使用
- 25. ストリームを使用して既知のインデックスで文字列を操作する
- 26. php配列 - 数値文字列インデックス
- 27. 文字列としてのインデックス文字列
- 28. []許可の文字列パラメータ(文字列インデックス)
- 29. VBAのインデックス式で可変文字列を使用する方法は?
- 30. 私は、文字列を持つインデックス
https://stackoverflow.com/questions/35419307/create-array-of-literals-and-columns-from-list-of-strings:
私の問題を解決するには、以下の通りでした-in-spark-sql – dumitru
その関数は明らかにScalaだけで動作し、JavaのSparkを使用しています –
また、この解決策は一定の値の列を作成しました。私の場合は、行の各値が異なります。 –