分類に関する機械学習プロジェクトがあります。最初は、最も簡単な分類器を試しました。分類器は常に+1を予測します。 ここに私のコードです。Pythonを使った機械学習でウォームアップ
from binary import *
from numpy import *
from pylab import *
import util
import datasets
import binary
import dumbClassifiers
class AlwaysPredictOne(BinaryClassifier):
"""
This defines the classifier that always predicts +1.
"""
def __init__(self, opts):
"""
do nothing
"""
def online(self):
return False
def __repr__(self):
return "AlwaysPredictOne"
def predict(self, X):
return 1 # return our constant prediction
def train(self, X, Y):
"""
do nothing
"""
h = dumbClassifiers.AlwaysPredictOne({})
print(h)
h.train(datasets.TennisData.X, datasets.TennisData.Y)
h_p = h.predictAll(datasets.TennisData.X)
print(h_p)
m = mean((datasets.TennisData.Y > 0) == (h.predictAll(datasets.TennisData.X) > 0))
print(m)
t = mean((datasets.TennisData.Yte > 0) == (h.predictAll(datasets.TennisData.Xte) > 0))
print(t)
が続い結果:
AlwaysPredictOne
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
0.642857142857
0.5
AlwaysPredictOne
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
0.642857142857
0.5
答えは右ですが、それが2回出現し、なぜ、私の質問は?私のコードに何か間違っていますか?
コードを実行するには、ここに何かがありません。 –
「何もしない」コメントを* pass *に置き換えることをお勧めします:構文が利用可能な場合はなぜコメントを使用するのですか? – guidot