Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中SVM模型的分类提取_Python_Svm - Fatal编程技术网

python中SVM模型的分类提取

python中SVM模型的分类提取,python,svm,Python,Svm,我第一次在python中使用SVM。我还使用了5次交叉验证来检查模型的准确性 该模型的目标是对输出是否为缺陷进行分类。我想对照原始数据集交叉检查输出分类。换句话说,我想了解哪些产品被归类为缺陷,哪些特定产品没有被归类为缺陷。我该怎么做呢 我的代码: from sklearn.svm import SVC svclassifier_rbf = SVC(kernel='rbf') clf = svclassifier_rbf.fit(X_train, y_train) from skl

我第一次在python中使用SVM。我还使用了5次交叉验证来检查模型的准确性

该模型的目标是对输出是否为缺陷进行分类。我想对照原始数据集交叉检查输出分类。换句话说,我想了解哪些产品被归类为缺陷,哪些特定产品没有被归类为缺陷。我该怎么做呢

我的代码:

from sklearn.svm import SVC  
svclassifier_rbf = SVC(kernel='rbf')  
clf = svclassifier_rbf.fit(X_train, y_train)  

from sklearn.metrics import classification_report, confusion_matrix  
print(confusion_matrix(y_test,y_pred_A_rbf))  
print(classification_report(y_test,y_pred_A_rbf)
)

谢谢,,
Nimish

如果您处理分类问题只是为了测试模型的准确性和行为使用

from sklearn.metrics import accuracy_score
accuracy_score(y_test,clf.predict(your_X_test))
参考我的git链接了解文档分类我在tfidf/count矢量器特性之上使用了朴素贝叶斯


如果您正在处理分类问题,只是为了测试模型的准确性和行为使用,希望这对文档分类有所帮助

from sklearn.metrics import accuracy_score
accuracy_score(y_test,clf.predict(your_X_test))
参考我的git链接了解文档分类我在tfidf/count矢量器特性之上使用了朴素贝叶斯


希望这对文档分类有所帮助

您可以使用以下代码获得预测为缺陷的记录。我假设X_测试是您的测试输入数据

print(X_test[y_pred_A_rbf==1])

您可以使用以下代码获得预测为缺陷的记录。我假设X_测试是您的测试输入数据

print(X_test[y_pred_A_rbf==1])

我没有看到代码中的交叉验证部分。假设您已经完成了,它看起来是这样的:

from sklearn.model_selection import KFold
from sklearn.svm import SVC 

kf = KFold(n_splits = 5, shuffle = True)
for train_index, test_index in kf.split(X):
    X_train, X_test = X[train_index], X[test_index]
    y_train = y_true[train_index]
    svclassifier_rbf = SVC(kernel='rbf') 
    svclassifier_rbf.fit(X_train, y_train)
    ###### NEXT LINE NEEDED #######
    y_pred_A_rbf[test_index] = svclassifier_rbf.predict(X_test)
您的代码中缺少的是
svclassifier\u rbf.predict(X\u test)

这是用来预测你的课程。现在,您可以获取变量
y_pred_A_rbf
的值,并将其传递给混淆矩阵,以读取真阳性、真阴性、假阳性和假阴性。Python中的典型混淆矩阵可以映射到下图:

现在有了实际标签和预测标签的两个数组,您可以执行类似于的操作,如果实际标签和预测标签为真,或者换句话说,1,则它们为真阳性,并且正确分类,同样,您可以对真阴性、假阳性执行以下操作,和假阴性,以研究哪些记录被预测和分类正确或错误

例如,如果您想知道哪些记录被正确分类为正数类(在本例中可能是let's Association defect),您可以执行以下操作:

tp = np.where((y_true == 1) & (y_pred == 1), 'True Positive', 'Else')

现在,您将获得所有被正确分类为正数类的记录的索引。

我看不到代码的交叉验证部分。假设您已经完成了,它看起来是这样的:

from sklearn.model_selection import KFold
from sklearn.svm import SVC 

kf = KFold(n_splits = 5, shuffle = True)
for train_index, test_index in kf.split(X):
    X_train, X_test = X[train_index], X[test_index]
    y_train = y_true[train_index]
    svclassifier_rbf = SVC(kernel='rbf') 
    svclassifier_rbf.fit(X_train, y_train)
    ###### NEXT LINE NEEDED #######
    y_pred_A_rbf[test_index] = svclassifier_rbf.predict(X_test)
您的代码中缺少的是
svclassifier\u rbf.predict(X\u test)

这是用来预测你的课程。现在,您可以获取变量
y_pred_A_rbf
的值,并将其传递给混淆矩阵,以读取真阳性、真阴性、假阳性和假阴性。Python中的典型混淆矩阵可以映射到下图:

现在有了实际标签和预测标签的两个数组,您可以执行类似于的操作,如果实际标签和预测标签为真,或者换句话说,1,则它们为真阳性,并且正确分类,同样,您可以对真阴性、假阳性执行以下操作,和假阴性,以研究哪些记录被预测和分类正确或错误

例如,如果您想知道哪些记录被正确分类为正数类(在本例中可能是let's Association defect),您可以执行以下操作:

tp = np.where((y_true == 1) & (y_pred == 1), 'True Positive', 'Else')

现在,您将获得所有被正确分类为阳性类别的记录的索引。

您有许多方法来测试您的y_pred的准确性。基本上,您需要匹配y_pred和y_测试。如果您是该领域的新手,并且面临解释混淆矩阵和报告的问题,您可以简单地在CSV文件中打印您的y_pred,并将其与y_测试进行比较。这将为您提供场景的实际情况

np.savetxt("filename.csv",y_pred,delimiter=",",fmt="%.5f")

你有很多方法来测试你的y_pred有多精确。基本上,您需要匹配y_pred和y_测试。如果您是该领域的新手,并且面临解释混淆矩阵和报告的问题,您可以简单地在CSV文件中打印您的y_pred,并将其与y_测试进行比较。这将为您提供场景的实际情况

np.savetxt("filename.csv",y_pred,delimiter=",",fmt="%.5f")

混淆矩阵和分类报告没有帮助你理解吗?或者你想知道预测为缺陷的实际数据点吗?混淆矩阵和分类报告没有帮助你理解吗?或者您想知道预测为缺陷的实际数据点吗?