from sklearn import svm
# 等値演算学習用データ
# 0番目と1番目が比較数値
# 2番目が結果0は偽、1だと真(ラベル)
equal_data = [
[21, 1, 0],
[20, 22, 0],
[3, 9, 0],
[10, 10, 1],
[5, 2, 0],
[2, 2, 1],
[99, 99, 1],
[2, 9, 0],
[3, 239, 0],
[19, 19, 1],
[5, 1, 0],
[6, 6, 1],
[100, 100, 1],
[243, 47, 0]
]
# 学習させるためにデータとラベルに分ける
data = []
label = []
for row in equal_data:
a = row[0]
b = row[1]
labelstr = row[2]
data.append([a, b])
label.append(labelstr)
# データの学習
clf = svm.SVC()
clf.fit(data, label)
# テストデータ用意
# 0番目と1番目が比較数値
# 2番目が結果0は偽、1だと真(ラベル)
test_data =[
[40, 41, 0],
[1, 1, 1],
[90, 99, 0],
[3, 10, 0],
[20, 20, 1],
[53, 53, 1],
[2, 2, 1]
]
# データとラベルを分ける
data = []
label = []
for row in test_data:
a = row[0]
b = row[1]
labelstr = row[2]
data.append([a, b])
label.append(labelstr)
# データを予測
pre = clf.predict(data)
print("予測結果:", pre)
# 正解と合っているか答え合わせ
ok = 0; total = 0
for (i, answer) in enumerate(label):
p = pre[i]
if p == answer:
ok += 1
total += 1
print("正解率:", ok, "/", total, "=", ok/total)