日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 线型_CCF 202006-1 线性分类器 python

發布時間:2023/12/1 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 线型_CCF 202006-1 线性分类器 python 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目:

線性分類器(line)

【題目描述】

考慮一個簡單的二分類問題——將二維平面上的點分為A和B兩類。

訓練數據包含n個點,其中第i個點(1≤i≤n)可以表示為一個三元組(x,y,type),即該點的橫坐標、縱坐標和類別。

在二維平面上,任意一條直線可以表示為 θ?+θ?x+θ?y=0的形式,即由θ?,θ?,θ?三個參數確定該直線,且滿足θ?,θ?不同時為0。

基于這n個已知類別的點,我們想要在平面上找到一條直線作為一個線性分類器。具體來說,這條線要把訓練數據中的A、B兩類點完美分隔開來,即一側只有A類點、另一側只有B類點。這樣,對于任意一個的未知類別的點,我們就可以根據它是位于直線的哪一側來預測它的類別了。

在本題中我們僅需要處理m個如下查詢:給定一條直線,判斷它是否能將訓練數據中的A、B兩類點完美分開。

【輸入格式】

從標準輸入讀入數據。輸入共n+m+1行。

第一行包含用空格分隔的兩個正整數n和m,分別表示點和查詢的個數。

第二行到第n+1行依次輸入n個點的信息。第i+1行(1≤i≤n)包含用空格分隔的三項x,y和type,分別表示第i個點的橫、縱坐標和類別,其中坐標為整數、類別為一個大寫英文字母A或B。

第n+2行到第n+m+1行依次輸入m個查詢。第j+n+1行(1≤j≤m)包含用空格分隔的三個整數θ?,θ?和θ?,表示第j個查詢中給定直線的三個參數。

【輸出格式】

輸出到標準輸出。

輸出共m行,每行輸出一個字符串。

第j行(1≤j≤m)輸出的字符串對應第個查詢的結果:如果給定直線可以完美分隔A、B兩類點,則輸出Yes;否則輸出No。

【樣例1輸入】

9 3

1 1 A

1 0 A

1 -1 A

2 2 B

2 3 B

0 1 A

3 1 B

1 3 B

2 0 A

0 2 -3

-3 0 2

-3 1 1

【樣例1輸出】

No

No

Yes

代碼,用的python,從別人那里扒過來的。已獲得同意

#-*- coding: utf-8 -*-

defjudga(lis1, z):

s=0for i inlis1:if z[0] + i[0] * z[1] + i[1] * z[2] >0:

s+= 1

if s == len(lis1) or s ==0:returnTrueelse:returnFalsedefjudg(x, y, z):

flag=Falseif (z[0] + x[0] * z[1] + x[1] * z[2]) * (z[0] + y[0] * z[1] + y[1] * z[2]) <0:

flag=Truereturnflagif __name__ == '__main__':

da_list= [] #存放A類點

db_list = [] #存放B類點

d_list =[]

n, m=map(int, input().split())for i inrange(n):

raw=input()

x, y, z=raw.split()

x=int(x)

y=int(y)

tub1=(x, y, z)if tub1[2] == 'A':

da_list.append(tub1)else:

db_list.append(tub1)for i inrange(m):

a, b, c=map(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')

滿分

總結

以上是生活随笔為你收集整理的python 线型_CCF 202006-1 线性分类器 python的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。