20 using namespace shogun;
39 void CKernelRidgeRegression::init()
46 bool CKernelRidgeRegression::train_machine_pinv()
54 for(int32_t i=0; i < n; i++)
55 kernel_matrix.matrix[i+i*n]+=m_tau;
66 SG_ERROR(
"Number of labels does not match number of kernel"
67 " columns (num_labels=%d cols=%d\n",
m_alpha.
vlen, n);
70 clapack_dposv(CblasRowMajor,CblasUpper, n, 1, kernel_matrix.
matrix, n,
76 bool CKernelRidgeRegression::train_machine_gs()
96 SG_ERROR(
"Number of labels does not match number of kernel"
97 " columns (num_labels=%d cols=%d\n",
m_alpha.
vlen, n);
106 for(int32_t i=0; i<n; i++)
109 for(int32_t j=0; j<n; j++)
131 SG_ERROR(
"Real labels needed for kernel ridge regression.\n")
136 SG_ERROR(
"Number of training vectors does not match number of labels\n")
141 switch (m_train_func)
144 return train_machine_pinv();
147 return train_machine_gs();
150 return train_machine_pinv();