ngram: средства извлечения признаков Машинного обучения
Средства извлечения признаков, которые можно использовать с mtText.
Использование
ngramCount(ngramLength = 1, skipLength = 0, maxNumTerms = 1e+07,
weighting = "tf")
ngramHash(ngramLength = 1, skipLength = 0, hashBits = 16,
seed = 314489979, ordered = TRUE, invertHash = 0)
Аргументы
ngramLength
Целое число, указывающее максимальное количество маркеров, нужное при создании n-граммы. Значение по умолчанию — 1.
skipLength
Целое число, указывающее максимальное количество маркеров, пропускаемых при создании n-граммы. Если значение, указанное как пропуск длины равно k
, то n-граммы могут содержать до k пропусков (не обязательно подряд). Например, если k=2
, из текста будут извлечены следующие 3-граммы: the sky is blue today: the sky is, the sky blue, the sky today, the is blue, the is today и the blue today. Значение по умолчанию — 0.
maxNumTerms
Целое число со знаком, определяющее максимальное количество категорий для включения в словарь. Значение по умолчанию — 10 000 000.
weighting
Строка символов, указывающая критерии взвешивания:
"tf"
— для использования частоты терминов."idf"
— для использования частоты инвертированного документа."tfidf"
— для использования частоты терминов и частоты инвертированного документа.
hashBits
целое значение. Число битов в результирующем хэше. Должно находиться в диапазоне от 1 до 30 включительно.
seed
целое значение. Начальное значение хэширования.
ordered
TRUE
для включения позиции каждого термина в хэш. В противном случае — значение FALSE
. Значение по умолчанию — TRUE
.
invertHash
Целое число, задающее ограничение на количество ключей, которые могут быть использованы для создания имени слота. Значение 0
означает отсутствие инверсии хэширования, а значение -1
— отсутствие ограничения. Хотя нулевое значение обеспечивает лучшую производительность, для получения осмысленных названий коэффициентов необходимо указать ненулевое значение.
Подробнее
ngramCount
позволяет определять аргументы для извлечения признаков на основе подсчета. Принимает параметры ngramLength
, skipLength
, maxNumTerms
и weighting
.
ngramHash
позволяет определять аргументы для извлечения признаков на основе хэширования. Принимает параметры ngramLength
, skipLength
, hashBits
, seed
, ordered
и invertHash
.
Значение
Строка символов, определяющая преобразование.
Авторы
Корпорация Майкрософт Microsoft Technical Support
См. также
Примеры
myData <- data.frame(opinion = c(
"I love it!",
"I love it!",
"Love it!",
"I love it a lot!",
"Really love it!",
"I hate it",
"I hate it",
"I hate it.",
"Hate it",
"Hate"),
like = rep(c(TRUE, FALSE), each = 5),
stringsAsFactors = FALSE)
outModel1 <- rxLogisticRegression(like~opinionCount, data = myData,
mlTransforms = list(featurizeText(vars = c(opinionCount = "opinion"),
wordFeatureExtractor = ngramHash(invertHash = -1, hashBits = 3))))
summary(outModel1)
outModel2 <- rxLogisticRegression(like~opinionCount, data = myData,
mlTransforms = list(featurizeText(vars = c(opinionCount = "opinion"),
wordFeatureExtractor = ngramCount(maxNumTerms = 5, weighting = "tf"))))
summary(outModel2)