FSP-线性分类器


线性分类器

百度代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# θ0 +θ1x +θ2y =0
# y=(-θ0-θ1x)/θ2

p_list = []

def qurey(in_list):
flag_gt = -1
flag_lt = -1
for i in p_list:
if (in_list[0] + in_list[1] * int(i[0]) + in_list[2] * int(i[1])) >= 0:
if flag_gt == -1:
flag_gt = i[2]
flag_lt = 'B' if i[2] == 'A' else 'A'
if i[2] != flag_gt:
print('No')
return

elif (in_list[0] + in_list[1] * int(i[0]) + in_list[2] * int(i[1])) < 0:
if flag_lt == -1:
flag_lt = i[2]
flag_gt = 'B' if i[2] == 'A' else 'A'
if i[2] != flag_lt:
print('No')
return
print('Yes')

n,m = map(int,input().split())
# ilist=list(map(int,input().split()))
# n=ilist[0]
# m=ilist[1]

for i in range(n):
p_list.append(list(input().split()))

for i in range(m):
qurey(list(map(int, input().split())))

参考和多次修改后的自己的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 0 = $0 + $1x + $2y
n, m = map(int, input().split(" "))
list_p = []
count = 1
while count <= n:
list_p.append(input().split(" "))
count += 1

a_list = []
b_list = []


def func(erg):
for element in list_p[:n]:
if erg[0] + erg[1]*int(element[0]) + erg[2]*int(element[1]) > 0:
a_list.append(element[2])
if erg[0] + erg[1]*int(element[0]) + erg[2]*int(element[1]) < 0:
b_list.append(element[2])
if len(set(a_list)) > 1 or len(set(b_list)) > 1:
print('No')
return
print('Yes')

for i in range(m):
func(list(map(int, input().split())))
a_list.clear()
b_list.clear()

错误总结

list not callable

1
2
list = xxxx
erg = list(map(int, input().split()))

这里犯的错误是变量名称list和python的list重名了

其它错误

在用a_list和b_list存储每一次参数条件下的点的类型A或者B时;当到下一个参数时,忘记将它们清空

最开始用break替代的return,导致在某次参数条件下不能完全切割,会出现两个结果;break虽然导致循环结束,但后面的代码还会执行;return在一个函数中,一旦执行函数结束

有时做的过程中对if条件造成的后果没有想全

一定要想清楚正确的逻辑后,再在代码中实现正确逻辑

一定要调试

学会的python知识

1
2
3
n, m = map(int, input.split()) # 右边为一个map对象
input.split() # 以一个或多个空格分割,得到结果为列表
' a 11 2 '.split() # a 11 2
1
2
3
# python中的三元运算符
a = 60
b = 60 if a == 60 else 0

We are love life, not because we are used to lifing, but because we are used to loving.

本文标题:FSP-线性分类器

文章作者:TTYONG

发布时间:2020年07月23日 - 09:07

最后更新:2020年07月23日 - 15:07

原始链接:http://tianyong.fun/CSP-1%E7%BA%BF%E6%80%A7%E5%88%86%E7%B1%BB%E5%99%A8.html

许可协议: 转载请保留原文链接及作者。

多少都是爱
0%