MCPcopy Create free account
hub / github.com/WenDesi/lihang_book_algorithm / train

Method train

AdaBoost/adaboost_cpp.py:92–124  ·  view source on GitHub ↗
(self,features,labels)

Source from the content-addressed store, hash-verified

90 return C_w
91
92 def train(self,features,labels):
93
94 self._init_parameters_(features,labels)
95
96 for times in xrange(self.M):
97 logging.debug('iterater %d' % times)
98
99
100 C_w = self.build_c_w()
101 min_error = ctypes.c_double(100000)
102 is_less = ctypes.c_int(-1)
103 feature_index = ctypes.c_int(-1)
104
105 index = self.lib.find_min_error(self.X_matrix,self.n,self.N,self.C_Y,C_w,ctypes.byref(min_error),ctypes.byref(is_less),ctypes.byref(feature_index))
106
107
108
109 em = min_error.value
110 best_classifier = (em,feature_index.value,Sign(is_less.value,index)) #(误差率,针对的特征,分类器)
111 print 'em is %s, index is %s' % (str(em),str(feature_index.value))
112
113
114 if em==0:
115 self.alpha.append(100)
116 else:
117 self.alpha.append(0.5*math.log((1-em)/em))
118
119 self.classifier.append(best_classifier[1:])
120
121 Z = self._Z_(best_classifier[1],best_classifier[2])
122
123 for i in xrange(self.N):
124 self.w[i] = self._w_(best_classifier[1],best_classifier[2],i)/Z
125
126 def _predict_(self,feature):
127

Callers 1

adaboost_cpp.pyFile · 0.45

Calls 5

_init_parameters_Method · 0.95
build_c_wMethod · 0.95
_Z_Method · 0.95
_w_Method · 0.95
SignClass · 0.70

Tested by

no test coverage detected