00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Copyright (C) 2012 Sergey Lisitsyn 00008 */ 00009 00010 #ifndef MULTITASKTRACELOGISTICREGRESSION_H_ 00011 #define MULTITASKTRACELOGISTICREGRESSION_H_ 00012 00013 #include <shogun/transfer/multitask/MultitaskLogisticRegression.h> 00014 00015 namespace shogun 00016 { 00022 class CMultitaskTraceLogisticRegression : public CMultitaskLogisticRegression 00023 { 00024 00025 public: 00026 MACHINE_PROBLEM_TYPE(PT_BINARY) 00027 00028 00029 CMultitaskTraceLogisticRegression(); 00030 00038 CMultitaskTraceLogisticRegression( 00039 float64_t rho, CDotFeatures* training_data, 00040 CBinaryLabels* training_labels, CTaskGroup* task_relation); 00041 00043 virtual ~CMultitaskTraceLogisticRegression(); 00044 00048 void set_rho(float64_t rho); 00049 00053 float64_t get_rho() const; 00054 00059 virtual const char* get_name() const 00060 { 00061 return "MultitaskTraceLogisticRegression"; 00062 } 00063 00064 private: 00065 00067 void init(); 00068 00069 protected: 00070 00072 virtual bool train_machine(CFeatures* data=NULL); 00073 00075 virtual bool train_locked_implementation(SGVector<index_t>* tasks); 00076 00077 protected: 00078 00080 float64_t m_rho; 00081 00082 }; 00083 } 00084 #endif