网站设计软件microsoft2013,看到一个电商网站帮做淘宝,福州网络公司,东莞公司网站建设题目#xff1a;线性分类器(line)【题目描述】考虑一个简单的二分类问题——将二维平面上的点分为A和B两类。训练数据包含n个点#xff0c;其中第i个点(1≤i≤n)可以表示为一个三元组(x,y,type)#xff0c;即该点的横坐标、纵坐标和类别。在二维平面上#xff0c;任意一条直…题目线性分类器(line)【题目描述】考虑一个简单的二分类问题——将二维平面上的点分为A和B两类。训练数据包含n个点其中第i个点(1≤i≤n)可以表示为一个三元组(x,y,type)即该点的横坐标、纵坐标和类别。在二维平面上任意一条直线可以表示为 θ₀θ₁xθ₂y0的形式即由θ₀θ₁θ₂三个参数确定该直线且满足θ₀θ₁不同时为0。基于这n个已知类别的点我们想要在平面上找到一条直线作为一个线性分类器。具体来说这条线要把训练数据中的A、B两类点完美分隔开来即一侧只有A类点、另一侧只有B类点。这样对于任意一个的未知类别的点我们就可以根据它是位于直线的哪一侧来预测它的类别了。在本题中我们仅需要处理m个如下查询给定一条直线判断它是否能将训练数据中的A、B两类点完美分开。【输入格式】从标准输入读入数据。输入共nm1行。第一行包含用空格分隔的两个正整数n和m分别表示点和查询的个数。第二行到第n1行依次输入n个点的信息。第i1行(1≤i≤n)包含用空格分隔的三项x,y和type分别表示第i个点的横、纵坐标和类别其中坐标为整数、类别为一个大写英文字母A或B。第n2行到第nm1行依次输入m个查询。第jn1行(1≤j≤m)包含用空格分隔的三个整数θ₀,θ₁和θ₂表示第j个查询中给定直线的三个参数。【输出格式】输出到标准输出。输出共m行每行输出一个字符串。第j行(1≤j≤m)输出的字符串对应第个查询的结果如果给定直线可以完美分隔A、B两类点则输出Yes否则输出No。【样例1输入】9 31 1 A1 0 A1 -1 A2 2 B2 3 B0 1 A3 1 B1 3 B2 0 A0 2 -3-3 0 2-3 1 1【样例1输出】NoNoYes代码用的python从别人那里扒过来的。已获得同意#-*- coding: utf-8 -*-defjudga(lis1, z):s0for i inlis1:if z[0] i[0] * z[1] i[1] * z[2] 0:s 1if s len(lis1) or s 0:returnTrueelse:returnFalsedefjudg(x, y, z):flagFalseif (z[0] x[0] * z[1] x[1] * z[2]) * (z[0] y[0] * z[1] y[1] * z[2]) 0:flagTruereturnflagif __name__ __main__:da_list [] #存放A类点db_list [] #存放B类点d_list []n, mmap(int, input().split())for i inrange(n):rawinput()x, y, zraw.split()xint(x)yint(y)tub1(x, y, z)if tub1[2] A:da_list.append(tub1)else:db_list.append(tub1)for i inrange(m):a, b, cmap(int, input().split())tub2(a, b, c)d_list.append(tub2)for i inrange(m):if judga(da_list, d_list[i]) True and judga(db_list, d_list[i]) True:ifjudg(da_list[0], db_list[0], d_list[i]):print(Yes)else:print(No)else:print(No)满分