首页 > 解决方案 > 附加结果并显示来自哪个组合?

问题描述

append这是一个带有和 a的经典 Python 示例,for loop但我不知道需要更改什么才能工作。

我有这些行:

clf =  SVC(C=10,gamma=1,kernel='rbf')
clf.fit(vectors, df.type)
vectors_test = vectorizer.transform(df_test.news)
pred = clf.predict(vectors_test)
metrics.f1_score(df_test.type, pred, average='macro') 

最后一行给出 f1 分数 0.95。

目的

我想为第一行(clf)尝试不同的组合,并使其返回f1 score每个组合的结果(最后一行)。

这是我尝试过的:

import itertools

clf=[]
mode=[]

ar=np.array(df_test.type)
for element in list(itertools.product(range(3),range(3))):
    c = element[0] #for each iteration will take a new value from the range
    g = element[1] #same here, and will replace the values c and g below
    try:
        clf.append(SVC(C=c,gamma=g,kernel='rbf').fit(vectors,df.type))
        vectors_test = vectorizer.transform(df_test.news)
        pred = clf.predict(vectors_test)
        metrics.f1_score(df_test.type, pred, average='macro')
        except:
            pass        

我认为这有点接近。你能帮我吗?

标签: pythonlistappenditertools

解决方案


推荐阅读