Go to the profile of  Paras Patidar
Paras Patidar
I am working on Machine Learning, Python and Django.
1 min read

Difference between Dimensions, Attribute and Feature in Machine Learning

Dimensions Usually refers to the number of attributes.Attributes Is one particular type of data in your points.Feature It may have multiple meaning depending on the context.

Dimensions  

Usually refers to the number of attributes.

Attributes

Is one particular type of data in your points, so each observation/datapoint contains many different attributes. Ex- Like, we have our presonal record(dataset/observation) which contains different attributes like person,height,weight,age,etc.

Feature

It may have multiple meaning depending on the context.

  • It sometimes refers to an attribute
  • It sometimes refers to the internal representation of data generated by particular learning model, Ex - Neural Networks extract features which are combination of the attributes or other features.
  • It sometimes refers to the hypothethical representation of the data induced  by the kernel method(in kernel PCA, kernel k-means, SVM)

In general you have some objects X, which you describe using some attributes (which is the first step of feature extraction, and so these attributes are also sometimes refered as features), which creates a representation of given dimension (number of attributes, extracted features). Then you train some model, which often creates some kind of abstraction (sometimes even multi-level), and each of such abstractions generate new features (extracts features from features) which are more complex objects then the ones on the lower "level".

<pre class="prettyprint"><code> 
X  --->   repr(X)   --->   f1(repr(X)) --->   ....  --->   fn(repr(X))
data      attributes         1st level                      nth level
        (0th features)       features                       features

      |repr(X)|=dimension
</code></pre>

f's are often recurrent, so f2(repr(X)) is actually some f2'(f1(repr(X))