trekhleb--homemade-machine-learning
27 行
774 B
Python
27 行
774 B
Python
"""Add sinusoid features to the features set"""
|
|
|
|
import numpy as np
|
|
|
|
|
|
def generate_sinusoids(dataset, sinusoid_degree):
|
|
"""Extends data set with sinusoid features.
|
|
|
|
Returns a new feature array with more features, comprising of
|
|
sin(x).
|
|
|
|
:param dataset: data set.
|
|
:param sinusoid_degree: multiplier for sinusoid parameter multiplications
|
|
"""
|
|
|
|
# Create sinusoids matrix.
|
|
num_examples = dataset.shape[0]
|
|
sinusoids = np.empty((num_examples, 0))
|
|
|
|
# Generate sinusoid features of specified degree.
|
|
for degree in range(1, sinusoid_degree + 1):
|
|
sinusoid_features = np.sin(degree * dataset)
|
|
sinusoids = np.concatenate((sinusoids, sinusoid_features), axis=1)
|
|
|
|
# Return generated sinusoidal features.
|
|
return sinusoids
|