FeatureExtract[examples]
extracts features for each example using a feature extractor trained on the examples given.
FeatureExtract[examples,spec]
extracts features using the specified feature extractor method spec.
FeatureExtract
FeatureExtract[examples]
extracts features for each example using a feature extractor trained on the examples given.
FeatureExtract[examples,spec]
extracts features using the specified feature extractor method spec.
Details and Options
- FeatureExtract is typically used to process raw data into usable features (e.g. for training a machine learning algorithm)
- FeatureExtract can be used on many types of data, including numerical, textual, sounds, images, graphs, time series and combinations of these.
- Possible values of examples are:
-
example with spec defined, a single unitary example without training {example1,…} a list of training examples Dataset[…] a Dataset object Tabular[…] a Tabular object - Each examplei can be a single data element, a list of data elements, an association of data elements, or a Dataset object.
- Possible values for spec include:
-
extractor use the specified extractor method partextractor apply the extractor to the specific example part {part1extractor1,…} specify extractors for specific parts - In FeatureExtract[examples,{part1extractor1,…}], the extractori are all applied separately to examples.
- Possible feature extractor methods include:
-
Automatic automatic extraction Identity give data unchanged "ConformedData" conformed images, colors, dates, etc. "NumericVector" numeric vector from any data "name" a named extractor method f applies function f to each example {extractor1,extractor2,…} use a sequence of extractors in turn - Possible forms of part are:
-
All all parts of each example i i
part of each example{i1,i2,…} parts i1, i2, … of each example "key" part with the specified key in each example {"key1","key2",…} parts with names "keyi" in each example - When explicitly specifying parts, any unmentioned parts are dropped when extracting features.
- FeatureExtract[examples] is equivalent to FeatureExtract[examples, Automatic] which is typically equivalent to FeatureExtract[examples, "NumericVector"].
- The "NumericVector" method will typically convert examples to numeric vectors, impute missing data, and reduce the dimension using DimensionReduction.
- Feature extractor methods specific to a single data type are applied only to data elements with whose types they are compatible. Other data elements are returned unchanged.
- Not all specific feature extractors are available when only one example is provided - for example vector processors will assume a list of is a list of scalar features.
- The specific extractors are:
- Numeric data:
-
"DiscretizedVector" discretized numerical data "DimensionReducedVector" reduced-dimension numeric vectors "MissingImputed" data with missing values imputed "StandardizedVector" numeric data processed with Standardize - Nominal data:
-
"IndicatorVector" nominal data "one-hot encoded" with indicator vectors "IntegerVector" nominal data encoded with integers - Text:
-
"LowerCasedText" text with each character lowercase "SegmentedCharacters" text segmented into characters "SegmentedWords" text segmented into words "SentenceVector" semantic vector from a text "TFIDF" term frequency-inverse document frequency vector "WordVectors" semantic vectors sequence from a text (English only) - Images:
-
"FaceFeatures" semantic vector from an image of a human face "ImageFeatures" semantic vector from an image "PixelVector" vector of pixel values from an image - Audio objects:
-
"AudioFeatures" sequence of semantic vectors from an audio object "AudioFeatureVector" semantic vector from an audio object "LPC" audio linear prediction coefficients "MelSpectrogram" audio spectrogram with logarithmic frequencies bins "MFCC" audio mel-frequency cepstral coefficients vectors sequence "SpeakerFeatures" sequence of semantic speaker vectors "SpeakerFeatureVector" semantic vector for a speaker "Spectrogram" audio spectrogram - Video objects:
-
"VideoFeatures" sequence of semantic vectors from a video object "VideoFeatureVector" semantic vector from a video object - Graphs:
-
"GraphFeatures" numeric vector summarizing graph properties - Molecules:
-
"AtomPairs" Boolean vector from pairs of atoms and the path lengths between them "MoleculeExtendedConnectivity" Boolean vector from enumerated molecule subgraphs "MoleculeFeatures" numeric vector summarizing molecule properties "MoleculeTopologicalFeatures" Boolean vector from circular atom neighborhoods - The following options can be given:
-
FeatureNames Automatic names to assign to elements of the examplei FeatureTypes Automatic feature types to assume for elements of the examplei RandomSeeding 1234 what seeding of pseudorandom generators should be done internally - Possible settings for RandomSeeding include:
-
Automatic automatically reseed every time the function is called Inherited use externally seeded random numbers seed use an explicit integer or strings as a seed - FeatureExtract[…] is equivalent to FeatureExtraction[…,"ExtractedFeatures"].
Extractors
Options
Examples
open all close allBasic Examples (4)
Extract features from a simple dataset:
FeatureExtract[{{1.4, "A"}, {1.5, "A"}, {2.3, "B"}, {5.4, "B"}}]FeatureExtract[{[image], [image], [image], [image], [image]}]Standardized numerical values using the "StandardizedVector" extractor method:
FeatureExtract[{{1.4, 30.1}, {1.5, 46.3}, {2.3, 27.4}, {5.4, 51.2}}, "StandardizedVector"]Extract TFIDF vectors on characters by chaining the extractor methods "SegmentedCharacters" and "TFIDF":
FeatureExtract[{"the cat is grey", "my cat is fast", "this dog is scary", "the big dog"}, {"SegmentedCharacters", "TFIDF"}] // MatrixFormScope (26)
Input Shape (9)
FeatureExtract[{"A rose by any other name", "It was the worst of times"}]Extract from a list of examples with multiple features:
FeatureExtract[{{"It was the best of times.", "Charles Dickens"}, {"A journey of a thousand miles begins with a single step.", "Laozi (attrib.)"}, {"To be or not to be, that is the question.", "William Shakespere"}}]Extract features on a mixed-type dataset:
FeatureExtract[{{"the cat is grey", [image]}, {"my cat is fast", [image]}, {"this dog is scary", [image]}, {"the big dog", [image]}}]Extract features from a dataset formatted as a list of associations:
FeatureExtract[{<|"age" -> 32, "height" -> 160, "gender" -> "female"|>,
<|"height" -> 183, "age" -> 41, "gender" -> "female"|>,
<|"height" -> 123, "age" -> 30, "gender" -> "female"|>,
<|"height" -> 175, "age" -> 21, "gender" -> "male"|>,
<|"height" -> 150, "age" -> 11, "gender" -> "male"|>,
<|"age" -> 52, "height" -> 164, "gender" -> "female"|>}]Extract features from data given as feature lists:
FeatureExtract[<|"age" -> {32, 41, 30, 21, 11, 52}, "height" -> {160, 183, 123, 175, 150, 164}, "gender" -> {"female", "female", "female", "male", "male", "female"}|>]Feature extract from a Tabular:
FeatureExtract[Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["age" -> Association["ElementType" -> "Integer64"],
"height" -> Association["ElementType" -> "Integer64"],
"gender" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{32, 41, 30, 21, 11, 52}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{160, 183, 123, 175, 150, 164}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 6, 12, 18, 22, 26, 32},
"femalefemalefemalemalemalefemale"}, {}, None}, "ElementType" -> "String"]]}}]]]]]Feature extract from a Dataset:
FeatureExtract[Dataset[{Association["age" -> 32, "height" -> 160, "gender" -> "female"],
Association["age" -> 41, "height" -> 183, "gender" -> "female"],
Association["age" -> 30, "height" -> 123, "gender" -> "female"],
Association["age" -> 21, "height" -> 175, "gender" -> "male"],
Association["age" -> 11, "height" -> 150, "gender" -> "male"],
Association["age" -> 52, "height" -> 164, "gender" -> "female"]}]]Extract features from a dataset that contains missing values:
FeatureExtract[{{1.4, Missing[], "A"}, {1.5, 50.2, "A"}, {Missing[], 42.3, "B"}, {5.4, 61.7, "B"}}]Extract features from a single example using an extractor that requires no training:
FeatureExtract["Some text.", "WordVectors"]//ShallowExtractor Specifications (8)
Specify the feature extractor "SentenceVector" on a single textual feature:
FeatureExtract["the cat is cute", "SentenceVector"]//ShortExtract features using the "SentenceVector" method followed by dimension reduction "DimensionReducedVector":
FeatureExtract[{"the cat is grey", "my cat is fast", "this dog is scary", "the big dog"}, {"SentenceVector", "DimensionReducedVector"}]Extract features on texts and images using the text-only "TFIDF" method:
FeatureExtract[{{"the cat is grey", [image]}, {"my cat is fast", [image]}, {"this dog is scary", [image]}, {"the big dog", [image]}}, "TFIDF"]Features have only been extracted from the text part, since "TFIDF" does not apply to images.
Specify feature extraction on multiple features by position:
FeatureExtract[{{"Glucose", Molecule["Glucose"]}, {"Water", Molecule["Water"]}, {"Acetic Acid", Molecule["Acetic Acid"]}}, {1 -> { "SentenceVector", "DimensionReducedVector"}, 2 -> {"MoleculeFeatures", "DimensionReducedVector"}}]Extract features with the "IndicatorVector" method on the second nominal variable only:
FeatureExtract[{{"Yes", "A"}, {"No", "A"}, {"No", "B"}, {"Maybe", "B"}, {"No", "C"}}, 2 -> "IndicatorVector"] // MatrixFormUse the Identity extractor method to copy the first variable as well:
FeatureExtract[{{"Yes", "A"}, {"No", "A"}, {"No", "B"}, {"Maybe", "B"}, {"No", "C"}}, {2 -> "IndicatorVector", 1 -> Identity}]A variable can be copied multiple times:
FeatureExtract[{{"Yes", "A"}, {"No", "A"}, {"No", "B"}, {"Maybe", "B"}, {"No", "C"}}, {2 -> "IndicatorVector", 1 -> Identity, 1 -> Identity}]Specify the feature extraction on multiple features by key:
FeatureExtract[Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["Name" -> Association["ElementType" -> "String"],
"Molecule" -> Association["ElementType" -> "InertExpression"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, {0, 7, 12, 23}, "GlucoseWaterAcetic Acid"}, {},
None}, "ElementType" -> "String"]], TabularColumn[
Association["Data" -> {{Molecule[{"O", "C", "C", "O", "C", "O", "C", "O", "C", "O", "C",
"O", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H", "H"},
{Bond[{1, 2}, "Double"], Bond[{2, 3}, "Single"], Bond[{3, 4}, "Single"], Bond[{3, 5},
"Single"], Bond[{5, 6}, "Single"], Bond[{5, 7}, "Single"], Bond[{7, 8}, "Single"],
Bond[{7, 9}, "Single"], Bond[{9, 10}, "Single"], Bond[{9, 11}, "Single"], Bond[
{11, 12}, "Single"], Bond[{2, 13}, "Single"], Bond[{3, 14}, "Single"], Bond[
{4, 15}, "Single"], Bond[{5, 16}, "Single"], Bond[{6, 17}, "Single"], Bond[{7, 18},
"Single"], Bond[{8, 19}, "Single"], Bond[{9, 20}, "Single"], Bond[{10, 21},
"Single"], Bond[{11, 22}, "Single"], Bond[{11, 23}, "Single"], Bond[{12, 24},
"Single"]}, {StereochemistryElements -> {Association["StereoType" -> "Tetrahedral",
"ChiralCenter" -> 3, "Direction" -> "Counterclockwise"], Association[
"StereoType" -> "Tetrahedral", "ChiralCenter" -> 5, "Direction" -> "Clockwise"],
Association["StereoType" -> "Tetrahedral", "ChiralCenter" -> 7, "Direction" ->
"Counterclockwise"], Association["StereoType" -> "Tetrahedral",
"ChiralCenter" -> 9, "Direction" -> "Counterclockwise"]}}],
Molecule[{"O", "H", "H"}, {Bond[{1, 2}, "Single"], Bond[{1, 3}, "Single"]}, {}],
Molecule[{"C", "C", "O", "O", "H", "H", "H", "H"}, {Bond[{1, 2}, "Single"], Bond[
{2, 3}, "Double"], Bond[{2, 4}, "Single"], Bond[{1, 5}, "Single"], Bond[{1, 6},
"Single"], Bond[{1, 7}, "Single"], Bond[{4, 8}, "Single"]}, {}]}, {}, None},
"ElementType" -> "InertExpression", "CachedOriginalExpression" ->
{Molecule[{"O", "C", "C", "O", "C", "O", "C", "O", "C", "O", "C", "O", "H", "H", "H",
"H", "H", "H", "H", "H", "H", "H", "H", "H"}, {Bond[{1, 2}, "Double"],
Bond[{2, 3}, "Single"], Bond[{3, 4}, "Single"], Bond[{3, 5}, "Single"],
Bond[{5, 6}, "Single"], Bond[{5, 7}, "Single"], Bond[{7, 8}, "Single"],
Bond[{7, 9}, "Single"], Bond[{9, 10}, "Single"], Bond[{9, 11}, "Single"],
Bond[{11, 12}, "Single"], Bond[{2, 13}, "Single"], Bond[{3, 14}, "Single"],
Bond[{4, 15}, "Single"], Bond[{5, 16}, "Single"], Bond[{6, 17}, "Single"],
Bond[{7, 18}, "Single"], Bond[{8, 19}, "Single"], Bond[{9, 20}, "Single"],
Bond[{10, 21}, "Single"], Bond[{11, 22}, "Single"], Bond[{11, 23}, "Single"],
Bond[{12, 24}, "Single"]}, {StereochemistryElements -> {Association["StereoType" ->
"Tetrahedral", "ChiralCenter" -> 3, "Direction" -> "Counterclockwise"],
Association["StereoType" -> "Tetrahedral", "ChiralCenter" -> 5, "Direction" ->
"Clockwise"], Association["StereoType" -> "Tetrahedral", "ChiralCenter" -> 7,
"Direction" -> "Counterclockwise"], Association["StereoType" -> "Tetrahedral",
"ChiralCenter" -> 9, "Direction" -> "Counterclockwise"]}}],
Molecule[{"O", "H", "H"}, {Bond[{1, 2}, "Single"], Bond[{1, 3}, "Single"]}, {}],
Molecule[{"C", "C", "O", "O", "H", "H", "H", "H"}, {Bond[{1, 2}, "Single"],
Bond[{2, 3}, "Double"], Bond[{2, 4}, "Single"], Bond[{1, 5}, "Single"],
Bond[{1, 6}, "Single"], Bond[{1, 7}, "Single"], Bond[{4, 8}, "Single"]}, {}]}]]}}]]]], {"Name" -> { "SentenceVector", "DimensionReducedVector"}, "Molecule" -> { "MoleculeFeatures", "DimensionReducedVector"}}]Generate a feature extractor using a custom function:
data = {DateObject[{2014, 5, 5}, TimeObject[{9, 53, 6.30158}, TimeZone -> -5.], TimeZone -> -5.], DateObject[{2000, 1, 1}, TimeObject[{0, 0, 0.}, TimeZone -> -5.], TimeZone -> -5.], DateObject[{2006, 12}], DateObject[{2007, 8, 23}], DateObject[{2016, 4, 4}, TimeObject[{15, 59, 18.2738}, TimeZone -> -4.], TimeZone -> -4.]};FeatureExtract[data, {AbsoluteTime[#], #["Year"]}&]Chain the custom extractor with the "StandardizedVector" method:
FeatureExtract[data, {{AbsoluteTime[#], #["Year"]}&, "StandardizedVector"}]Conform data prior to processing:
FeatureExtract[{[image], [image], [image], [image]}, {"ConformedData", "ImageFeatures", "DimensionReducedVector"}]Feature Types (9)
Extract features on textual data:
FeatureExtract[{"the cat is grey", "my cat is fast", "this dog is scary", "the big dog"}]Compute term frequency-inverse document frequency vectors from texts:
FeatureExtract[{"the cat is grey", "my cat is fast", "this dog is scary", "the big dog"}, "TFIDF"] // MatrixFormBy default, texts will be segmented into words. This gives the same result:
FeatureExtract[{"the cat is grey", "my cat is fast", "this dog is scary", "the big dog"}, {"SegmentedWords", "TFIDF"}] // MatrixFormExtract features with the "IndicatorVector" method on nominal variables:
FeatureExtract[{{"Yes", "A"}, {"No", "A"}, {"No", "B"}, {"Maybe", "B"}, {"No", "C"}}, "IndicatorVector"] // MatrixFormExtract features from a list of DateObject instances:
FeatureExtract[{DateObject[{2014, 5, 5, 9, 53, 6.30158}, "Instant", "Gregorian", -6.], DateObject[{2000, 1, 1, 0, 0, 0.}, "Instant", "Gregorian", -6.], DateObject[{2006, 12}, "Month", "Gregorian", -6.], DateObject[{2007, 8, 23}, "Day", "Gregorian", -6.], DateObject[{2016, 4, 4, 15, 59, 18.2738}, "Instant", "Gregorian", -4.]}]Train a feature extractor on a list of Graph instances:
FeatureExtract[{[image], [image], [image], [image]}]Train a feature extractor on a list of TimeSeries instances:
FeatureExtract[{TemporalData[TimeSeries, {{{0, 1, 0, 3, 0, 0, 0, 0, 2, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
0, 0, 0, 0, 0, 2, 0, 0, 36, 0, 6, 1, 2, 8, 6, 24, 20, 31, 68, 45, 140, 116, 65, 376, 322, 382,
516, 544, 767, 1133, 1788, 1360, 5886, 5412 ... tion[{2020, 1, 23, 0, 0, 0.}, {2020, 10, 5, 0, 0, 0.}, {1, "Day"}]},
1, {"Continuous", 1}, {"Discrete", 1}, 1, {DateFunction -> Automatic,
ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}, ValueDimensions -> 1}}, True,
12.2], TemporalData[TimeSeries, {{{0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 23, 2, 1, 3, 5, 4, 13, 6, 11, 9, 20, 11, 6,
23, 14, 38, 50, 86, 66, 103, 37, 121, 70, 1 ... {TemporalData`DateSpecification[{2020, 1, 23, 0, 0, 0.}, {2020, 10, 5, 0, 0, 0.}, {1, "Day"}]},
1, {"Continuous", 1}, {"Discrete", 1}, 1,
{ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}, ValueDimensions -> 1}}, True,
12.2], TemporalData[TimeSeries, {{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 2, 0, 9, 0, 7, 5, 6, 7, 14, 99, 0, 11, 38,
121, 51, 249, 172, 228, 572, 331, 323, 307, ... TemporalData`DateSpecification[{2020, 1, 23, 0, 0, 0.},
{2020, 10, 5, 0, 0, 0.}, {1, "Day"}]}, 1, {"Continuous", 1}, {"Discrete", 1}, 1,
{ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}, ValueDimensions -> 1}}, True,
12.2], TemporalData[TimeSeries, {{{0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 9, 0, 4, 0, 3, 0, 8, 17, 14, 4, 27,
24, 33, 52, 54, 53, 61, 71, 57, 163, 182, 196 ... {TemporalData`DateSpecification[{2020, 1, 23, 0, 0, 0.}, {2020, 10, 5, 0, 0, 0.}, {1, "Day"}]},
1, {"Continuous", 1}, {"Discrete", 1}, 1,
{ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}, ValueDimensions -> 1}}, True,
12.2], TemporalData[TimeSeries, {{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 6, 0, 4, 9, 12, 20, 11,
28, 9, 26, 68, 35, 46, 101, 92, 21, 48, 69 ... {TemporalData`DateSpecification[{2020, 1, 23, 0, 0, 0.}, {2020, 10, 5, 0, 0, 0.}, {1, "Day"}]},
1, {"Continuous", 1}, {"Discrete", 1}, 1,
{ResamplingMethod -> {"Interpolation", InterpolationOrder -> 1}, ValueDimensions -> 1}}, True,
12.2]}]Extract features from Molecule data:
FeatureExtract[{Molecule["Sucrose"], Molecule["Butane"], Molecule["Pentane"]}]Extract features from a selection of Audio instances:
FeatureExtract[{Audio[Sound[Table[SoundNote[i, If[i == 12, 0.5, 0.1], "Violin"], {i, 0, 12}]]], Audio[Sound[Table[SoundNote[i, If[i == 12, 0.5, 0.1], "Cello"], {i, 0, 12}]]], Audio[Sound[Table[SoundNote[i, If[i == 12, 0.5, 0.1], "Trumpet"], {i, 0, 12}]]]}]Extract features from a dataset that contains missing values:
FeatureExtract[{{1.4, Missing[], "A"}, {1.5, 50.2, "A"}, {Missing[], 42.3, "B"}, {5.4, 61.7, "B"}}]Options (2)
FeatureNames (1)
Use FeatureNames to name features, and refer to their names in part specifications:
FeatureExtract[{{2.3, "male"}, {4.8, Missing[]}, {Missing[], "female"}, {5.2, "female"}}, {"age" -> Identity, "gender" -> "IndicatorVector"}, FeatureNames -> {"age", "gender"}] // MatrixFormFeatureTypes (1)
Extract features with the "IndicatorVector" method on a simple dataset:
FeatureExtract[{{1, "A"}, {2, "A"}, {2, "B"}, {1, "B"}}, "IndicatorVector"]//MatrixFormAs "IndicatorVector" method only acts on nominal features, the first feature has been assumed to be nominal.
Use FeatureTypes to enforce the interpretation of the first feature as numerical, and bypass the feature extractor:
FeatureExtract[{{1, "A"}, {2, "A"}, {2, "B"}, {1, "B"}}, "IndicatorVector", FeatureTypes -> <|1 -> "Numerical"|>]// MatrixFormApplications (1)
Dataset Visualization (1)
Construct a dataset of dog images:
dataset = {[image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image], [image]};Extract features from this dataset:
features = FeatureExtract[dataset];Reduce the dimension of the extracted vectors to 2:
xy = DimensionReduce[features, 2, Method -> "TSNE"]Visualize the images at their feature positions:
ListPlot[List /@ xy, PlotMarkers -> (Image[#, ImageSize -> 40]& /@ dataset)]A similar visualization can be directly obtained using FeatureSpacePlot:
FeatureSpacePlot[dataset]Properties & Relations (2)
Extract features with no training examples is the equivalent of FeatureExtraction[None,...]:
data = "This is a sentence"FeatureExtract[data, "SentenceVector"] == FeatureExtraction[None, "SentenceVector"][data]FeatureExtract[…] is equivalent to FeatureExtraction[…,"ExtractedFeatures"]:
data = {"the cat is grey", "my cat is fast", "this dog is scary", "the big dog"};FeatureExtract[data, "TFIDF"] == FeatureExtraction[data, "TFIDF", "ExtractedFeatures"]Possible Issues (1)
Feature extraction with no training data will use inbuilt defaults where needed:
FeatureExtract[[image], "ConformedData", FeatureTypes -> "Image"]//InformationInputting the same data as training data may give a different result:
FeatureExtract[{[image]}, "ConformedData", FeatureTypes -> "Image"]//InformationRelated Guides
History
Introduced in 2016 (11.0) | Updated in 2017 (11.2) ▪ 2020 (12.1) ▪ 2020 (12.2) ▪ 2021 (12.3) ▪ 2025 (14.3)
Text
Wolfram Research (2016), FeatureExtract, Wolfram Language function, https://reference.wolfram.com/language/ref/FeatureExtract.html (updated 2025).
CMS
Wolfram Language. 2016. "FeatureExtract." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/FeatureExtract.html.
APA
Wolfram Language. (2016). FeatureExtract. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FeatureExtract.html
BibTeX
@misc{reference.wolfram_2026_featureextract, author="Wolfram Research", title="{FeatureExtract}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/FeatureExtract.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_featureextract, organization={Wolfram Research}, title={FeatureExtract}, year={2025}, url={https://reference.wolfram.com/language/ref/FeatureExtract.html}, note=[Accessed: 13-June-2026]}