In
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
and
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
, a feature is an individual measurable property or characteristic of a data set.
Choosing informative, discriminating, and independent features is crucial to produce effective
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s for
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
,
classification
Classification is the activity of assigning objects to some pre-existing classes or categories. This is distinct from the task of establishing the classes themselves (for example through cluster analysis). Examples include diagnostic tests, identif ...
, and
regression tasks. Features are usually numeric, but other types such as
strings and
graphs are used in
syntactic pattern recognition, after some pre-processing step such as
one-hot encoding. The concept of "features" is related to that of
explanatory variables used in statistical techniques such as
linear regression.
Feature types
In feature engineering, two types of features are commonly used: numerical and categorical.
Numerical features are continuous values that can be measured on a scale. Examples of numerical features include age, height, weight, and income. Numerical features can be used in machine learning algorithms directly.
Categorical features are discrete values that can be grouped into categories. Examples of categorical features include gender, color, and zip code. Categorical features typically need to be converted to numerical features before they can be used in machine learning algorithms. This can be done using a variety of techniques, such as one-hot encoding, label encoding, and ordinal encoding.
The type of feature that is used in feature engineering depends on the specific machine learning algorithm that is being used. Some machine learning algorithms, such as decision trees, can handle both numerical and categorical features. Other machine learning algorithms, such as linear regression, can only handle numerical features.
Classification
A numeric feature can be conveniently described by a feature vector. One way to achieve
binary classification is using a
linear predictor function (related to the
perceptron) with a feature vector as input. The method consists of calculating the
scalar product between the feature vector and a vector of weights, qualifying those observations whose result exceeds a threshold.
Algorithms for classification from a feature vector include
nearest neighbor classification,
neural networks, and
statistical techniques such as
Bayesian approaches.
Examples
In
character recognition, features may include
histograms counting the number of black pixels along horizontal and vertical directions, number of internal holes, stroke detection and many others.
In
speech recognition, features for recognizing
phonemes can include noise ratios, length of sounds, relative power, filter matches and many others.
In
spam detection algorithms, features may include the presence or absence of certain email headers,
the email structure, the language, the frequency of specific terms, the grammatical correctness of the text.
In
computer vision, there are a large number of possible
features, such as edges and objects.
Feature vectors
In
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
and
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, a feature vector is an n-dimensional
vector of numerical features that represent some object. Many
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s in machine learning require a numerical representation of objects, since such representations facilitate processing and statistical analysis. When representing images, the feature values might correspond to the pixels of an image, while when representing texts the features might be the frequencies of occurrence of textual terms. Feature vectors are equivalent to the vectors of
explanatory variables used in
statistical procedures such as
linear regression. Feature vectors are often combined with weights using a
dot product
In mathematics, the dot product or scalar productThe term ''scalar product'' means literally "product with a Scalar (mathematics), scalar as a result". It is also used for other symmetric bilinear forms, for example in a pseudo-Euclidean space. N ...
in order to construct a
linear predictor function that is used to determine a score for making a prediction.
The
vector space associated with these vectors is often called the feature space. In order to reduce the dimensionality of the feature space, a number of
dimensionality reduction techniques can be employed.
Higher-level features can be obtained from already available features and added to the feature vector; for example, for the study of diseases the feature 'Age' is useful and is defined as ''Age = 'Year of death' minus 'Year of birth' ''. This process is referred to as feature construction.
[Liu, H., Motoda H. (1998) ]
Feature Selection for Knowledge Discovery and Data Mining
'', Kluwer Academic Publishers. Norwell, MA, USA. 1998.[Piramuthu, S., Sikora R. T]
Iterative feature construction for improving inductive learning algorithms
In Journal of Expert Systems with Applications. Vol. 36 , Iss. 2 (March 2009), pp. 3401-3406, 2009 Feature construction is the application of a set of constructive operators to a set of existing features resulting in construction of new features. Examples of such constructive operators include checking for the equality conditions , the arithmetic operators , the array operators as well as other more sophisticated operators, for example count(S,C)
[Bloedorn, E., Michalski, R. Data-driven constructive induction: a methodology and its applications. IEEE Intelligent Systems, Special issue on Feature Transformation and Subset Selection, pp. 30-37, March/April, 1998] that counts the number of features in the feature vector S satisfying some condition C or, for example, distances to other recognition classes generalized by some accepting device. Feature construction has long been considered a powerful tool for increasing both accuracy and understanding of structure, particularly in high-dimensional problems.
[Breiman, L. Friedman, T., Olshen, R., Stone, C. (1984) ''Classification and regression trees'', Wadsworth] Applications include studies of disease and
emotion recognition from speech.
[Sidorova, J., Badia T]
Syntactic learning for ESEDA.1, tool for enhanced speech emotion detection and analysis
Internet Technology and Secured Transactions Conference 2009 (ICITST-2009), London, November 9–12. IEEE
Selection and extraction
The initial set of raw features can be redundant and large enough that estimation and optimization is made difficult or ineffective. Therefore, a preliminary step in many applications of
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
and
pattern recognition
Pattern recognition is the task of assigning a class to an observation based on patterns extracted from data. While similar, pattern recognition (PR) is not to be confused with pattern machines (PM) which may possess PR capabilities but their p ...
consists of
selecting a subset of features, or
constructing a new and reduced set of features to facilitate learning, and to improve generalization and interpretability.
Extracting or selecting features is a combination of art and science; developing systems to do so is known as
feature engineering. It requires the experimentation of multiple possibilities and the combination of automated techniques with the intuition and knowledge of the
domain expert. Automating this process is
feature learning, where a machine not only uses features for learning, but learns the features itself.
See also
*
Covariate
*
Dimensionality reduction
*
Feature engineering
*
Hashing trick
*
Statistical classification
*
Explainable artificial intelligence
References
{{Reflist
Data mining
Machine learning
Pattern recognition