categoricalHash:Machine Learning 類別雜湊資料轉換
在定型模型之前,您可以在資料上執行類別雜湊轉換。
使用方式
categoricalHash(vars, hashBits = 16, seed = 314489979, ordered = TRUE,
invertHash = 0, outputKind = "Bag", ...)
引數
vars
要轉換的字元向量或變數名稱清單。 如果命名,則名稱代表要建立的新變數名稱。
hashBits
整數,指定要雜湊的位元數。 必須介於 1 到 30 (含) 之間。 預設值為 16。
seed
指定雜湊種子的整數。 預設值為 314489979。
ordered
TRUE
會在雜湊中包含每個字詞的位置。 否則為 FALSE
。 預設值是 TRUE
。
invertHash
指定可用來產生位置名稱索引鍵數目限制的整數。 0
表示沒有反轉雜湊;-1
表示沒有限制。 雖然零值可提供更好的效能,但需要非零值才能取得有意義的係數名稱。 預設值是 0
。
outputKind
指定輸出種類的字元字串。
"ind"
:輸出指標向量。 輸入資料行是類別的向量,而輸出會在輸入資料行中每個位置包含一個指標向量。"bag"
:輸出多集合向量。 若輸入資料行是類別的向量,則輸出會包含一個向量,其中每個位置中的值都是輸入向量中類別的出現次數。 如果輸入資料行包含單一類別,則指標向量和包向量相等"key"
:輸出索引。 輸出是類別的整數識別碼 (介於 1 和目錄中的類別數目之間)。
預設值是"Bag"
。
...
傳送至計算引擎的其他引數。
詳細資料
categoricalHash
會透過雜湊值及將雜湊用為包中的索引,將類別值轉換成指標陣列。 如果輸入資料行是向量,則會為其傳回單一指標包。
categoricalHash
目前不支援處理因子資料。
值
定義轉換的 maml
物件。
作者
Microsoft Corporation Microsoft Technical Support
另請參閱
rxFastTrees、rxFastForest、rxNeuralNet、rxOneClassSvm、rxLogisticRegression。
範例
trainReviews <- data.frame(review = c(
"This is great",
"I hate it",
"Love it",
"Do not like it",
"Really like it",
"I hate it",
"I like it a lot",
"I kind of hate it",
"I do like it",
"I really hate it",
"It is very good",
"I hate it a bunch",
"I love it a bunch",
"I hate it",
"I like it very much",
"I hate it very much.",
"I really do love it",
"I really do hate it",
"Love it!",
"Hate it!",
"I love it",
"I hate it",
"I love it",
"I hate it",
"I love it"),
like = c(TRUE, FALSE, TRUE, FALSE, TRUE,
FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE,
FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, FALSE, TRUE,
FALSE, TRUE, FALSE, TRUE), stringsAsFactors = FALSE
)
testReviews <- data.frame(review = c(
"This is great",
"I hate it",
"Love it",
"Really like it",
"I hate it",
"I like it a lot",
"I love it",
"I do like it",
"I really hate it",
"I love it"), stringsAsFactors = FALSE)
# Use a categorical hash transform
outModel2 <- rxLogisticRegression(like~reviewCatHash, data = trainReviews,
mlTransforms = list(categoricalHash(vars = c(reviewCatHash = "review"))))
# Weights are similar to categorical
summary(outModel2)
# Use the model to score
scoreOutDF2 <- rxPredict(outModel2, data = testReviews,
extraVarsToWrite = "review")
scoreOutDF2