小编mic*_*ael的帖子

使用python和Scikit Learn为K-NN机器学习算法实现ROC曲线

我目前正在尝试为我的kNN分类算法实现ROC曲线。我知道ROC曲线是正确率与错误率的曲线图,我只是在努力从数据集中查找那些值。我将“ autoimmune.csv”导入到我的python脚本中,并在其上运行kNN算法以输出准确性值。Scikit-learn.org文档显示,要生成TPR和FPR,我需要传递y_test和y_scores值,如下所示:

fpr, tpr, threshold = roc_curve(y_test, y_scores)
Run Code Online (Sandbox Code Playgroud)

我只是在努力使用这些值。感谢您的事先帮助和歉意,如果我错过了某些事情,这是我的第一篇文章。

from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
from sklearn.metrics import roc_curve
from sklearn.metrics import auc
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_csv('./autoimmune.csv')
X = data.drop(columns=['autoimmune'])
y = data['autoimmune'].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

knn = KNeighborsClassifier(n_neighbors = 10)
knn.fit(X_train,y_train)
knn.predict(X_test)[0:10]
knn.score(X_test,y_test)

print("Test set score: {:.4f}".format(knn.score(X_test, y_test)))

knn_cv = KNeighborsClassifier(n_neighbors=10)
cv_scores = cross_val_score(knn_cv, X, y, cv=10) …
Run Code Online (Sandbox Code Playgroud)

python machine-learning knn scikit-learn

4
推荐指数
1
解决办法
3002
查看次数

标签 统计

knn ×1

machine-learning ×1

python ×1

scikit-learn ×1