16 using namespace shogun;
19 :
CLinearMachine(), learn_rate(0.1), max_iter(1000), m_initialize_hyperplane(true)
24 :
CLinearMachine(), learn_rate(0.1), max_iter(1000), m_initialize_hyperplane(true)
42 SG_ERROR(
"Specified features are not of type CDotFeatures\n")
56 if (m_initialize_hyperplane)
61 for (int32_t i=0; i<num_feat; i++)
69 for (int32_t i=0; i<num_vec; i++)
73 if (CMath::sign<float64_t>(output[i]) != train_labels.
vector[i])
85 SG_INFO(
"Perceptron algorithm converged after %d iterations.\n", iter)
96 m_initialize_hyperplane = initialize_hyperplane;
101 return m_initialize_hyperplane;
virtual ELabelType get_label_type() const =0
The class Labels models labels, i.e. class assignments of objects.
bool get_initialize_hyperplane()
get if the hyperplane should be initialized
virtual int32_t get_num_vectors() const =0
virtual void add_to_dense_vec(float64_t alpha, int32_t vec_idx1, float64_t *vec2, int32_t vec2_len, bool abs_val=false)=0
Features that support dot products among other operations.
virtual int32_t get_dim_feature_space() const =0
virtual float64_t apply_one(int32_t vec_idx)
void set_initialize_hyperplane(bool initialize_hyperplane)
set if the hyperplane should be initialized
virtual void set_features(CDotFeatures *feat)
Class LinearMachine is a generic interface for all kinds of linear machines like classifiers.
The class Features is the base class of all feature objects.
virtual bool train_machine(CFeatures *data=NULL)
Binary Labels for binary classification.
bool has_property(EFeatureProperty p) const
virtual void set_labels(CLabels *lab)