Multivariate Polynomial Feature generation
General Formula is as follow:
 \begin{equation} N(n,d)=C(n+d,d) \end{equation} where n is the number of the features, $d$ is the degree of the polynomial, $C$ is binomial coefficient(combination). 

Example with vector (2,3) to 3rd degree : 

x = np.array[[2,3]]
pf = PolynomialFeatures(degree=3, include_bias=True)
pf.fit_transform(x)


returns : 

array([[ 1.,  2.,  3.,  4.,  6.,  9.,  8., 12., 18., 27.]])


wich is : [1, $\:$ $x_1$, $\:$ $x_2$,
 $\:$ $x_1^2$,$\:$ $x_1x_2$, $\:$ $x_2^2$,
 $\:$ $x_1^3$, $\:$ $x_2x_1^2$, $\:$ $x_2^2 x_1$, $\:$ $x_2^3$]

You can see this as expanding this equation and throwing out the coefficients :

\begin{equation}1 + (x_1 + x_2) +  (x_1 + x_2)^2 +  (x_1 + x_2)^3 \end{equation}