Python版のSCWを作った(ついでに疎な素性を取るようにした)

Pythonに慣れるためにSCWを書いた。前にPerlで書いたのは密な素性を前提にしていた。これだと不便なので今回は疎な素性を取るように変更した。

https://github.com/echizentm/ConfidenceWeighted


以下、サンプルの動作例。

$$ python sample.py < colors.json 
update:[1, {"B": 0, "R": 255, "G": 0}]
update:[-1, {"B": 0, "R": 0, "G": 255}]
update:[-1, {"B": 255, "R": 0, "G": 0}]
update:[-1, {"B": 255, "R": 0, "G": 255}]
update:[1, {"B": 255, "R": 255, "G": 0}]
update:[1, {"B": 0, "R": 255, "G": 255}]
classify:[1, {"B": 0, "R": 255, "G": 0}]
classify:[-1, {"B": 0, "R": 0, "G": 255}]
classify:[-1, {"B": 255, "R": 0, "G": 0}]
classify:[-1, {"B": 255, "R": 0, "G": 255}]
classify:[1, {"B": 255, "R": 255, "G": 0}]
classify:[1, {"B": 0, "R": 255, "G": 255}]