2

テキストを使用して結果を予測する、非常に単純な ML 学習問題を実装しようとしています。R では、いくつかの基本的な例は次のようになります。

偽の面白いテキスト データをインポートする

library(caret)
library(dplyr)
library(text2vec)

dataframe <- data_frame(id = c(1,2,3,4),
                        text = c("this is a this", "this is 
                        another",'hello','what???'),
                        value = c(200,400,120,300),
                        output = c('win', 'lose','win','lose'))

> dataframe
# A tibble: 4 x 4
     id            text value output
  <dbl>           <chr> <dbl>  <chr>
1     1  this is a this   200    win
2     2 this is another   400   lose
3     3           hello   120    win
4     4         what???   300   lose

テキストの疎行列表現text2vecを取得するために使用します ( https://github.com/dselivanov/text2vec/blob/master/vignettes/text-vectorization.Rmdも参照)

#these are text2vec functions to tokenize and lowercase the text
prep_fun = tolower
tok_fun = word_tokenizer 

#create the tokens
train_tokens = dataframe$text %>% 
  prep_fun %>% 
  tok_fun

it_train = itoken(train_tokens)     
vocab = create_vocabulary(it_train)
vectorizer = vocab_vectorizer(vocab)
dtm_train = create_dtm(it_train, vectorizer)

> dtm_train
4 x 6 sparse Matrix of class "dgCMatrix"
  what hello another a is this
1    .     .       . 1  1    2
2    .     .       1 .  1    1
3    .     1       . .  .    .
4    1     .       . .  .    .

最後に、アルゴをトレーニングして (たとえば、 を使用して) 、疎行列を使用caretして予測します。output

mymodel <- train(x=dtm_train, y =dataframe$output, method="xgbTree")

> confusionMatrix(mymodel)
Bootstrapped (25 reps) Confusion Matrix 

(entries are percentual average cell counts across resamples)

          Reference
Prediction lose  win
      lose 17.6 44.1
      win  29.4  8.8

 Accuracy (average) : 0.264

私の問題は次のとおりです。

、 およびをh20使用してデータをインポートする方法がわかります。ただし、上記の 2. と 3. については、完全に迷っています。spark_read_csvrsparklingas_h2o_frame

誰かがヒントをくれたり、このアプローチが可能かどうか教えてくれませんかh2o?

どうもありがとう!!

4

1 に答える 1