MCPcopy Index your code
hub / github.com/lazyprogrammer/machine_learning_examples / main

Function main

nlp_class2/pos_baseline.py:171–221  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

169 return Xtrain, Ytrain, Xtest, Ytest, word2idx
170
171def main():
172 Xtrain, Ytrain, Xtest, Ytest, word2idx = get_data()
173
174 # convert to numpy arrays
175 Xtrain = np.array(Xtrain)
176 Ytrain = np.array(Ytrain)
177
178 # convert Xtrain to indicator matrix
179 N = len(Xtrain)
180 V = len(word2idx) + 1
181 print("vocabulary size:", V)
182 # Xtrain_indicator = np.zeros((N, V))
183 # Xtrain_indicator[np.arange(N), Xtrain] = 1
184
185 # decision tree
186 dt = DecisionTreeClassifier()
187
188 # without indicator
189 dt.fit(Xtrain.reshape(N, 1), Ytrain)
190 print("dt train score:", dt.score(Xtrain.reshape(N, 1), Ytrain))
191 p = dt.predict(Xtrain.reshape(N, 1))
192 print("dt train f1:", f1_score(Ytrain, p, average=None).mean())
193
194 # with indicator -- too slow!!
195 # dt.fit(Xtrain_indicator, Ytrain)
196 # print("dt score:", dt.score(Xtrain_indicator, Ytrain))
197
198 # train and score
199 model = LogisticRegression()
200 model.fit(Xtrain, Ytrain, V=V)
201 print("training complete")
202 print("lr train score:", model.score(Xtrain, Ytrain))
203 print("lr train f1:", model.f1_score(Xtrain, Ytrain))
204
205
206 Ntest = len(Xtest)
207 Xtest = np.array(Xtest)
208 Ytest = np.array(Ytest)
209 # convert Xtest to indicator
210 # Xtest_indicator = np.zeros((Ntest, V))
211 # Xtest_indicator[np.arange(Ntest), Xtest] = 1
212
213 # decision tree test score
214 print("dt test score:", dt.score(Xtest.reshape(Ntest, 1), Ytest))
215 p = dt.predict(Xtest.reshape(Ntest, 1))
216 print("dt test f1:", f1_score(Ytest, p, average=None).mean())
217 # print("dt test score:", dt.score(Xtest_indicator, Ytest)) # too slow!
218
219 # logistic test score -- too slow!!
220 print("lr test score:", model.score(Xtest, Ytest))
221 print("lr test f1:", model.f1_score(Xtest, Ytest))
222
223if __name__ == '__main__':
224 main()

Callers 1

pos_baseline.pyFile · 0.70

Calls 6

fitMethod · 0.95
scoreMethod · 0.95
f1_scoreMethod · 0.95
LogisticRegressionClass · 0.85
get_dataFunction · 0.70
predictMethod · 0.45

Tested by

no test coverage detected