scikit-learn中的最近邻分类

我正在尝试理解和使用scikit learn网站上的这段代码

我已经将X改为

X = [[ 170,  70 ], [ 180,  80  ], [ 190,  90 ], [ 200,  100], [ 172,  80 ], [ 182,  72 ], [ 185,  95 ], [ 184,  74 ], [ 184,  80 ], [ 177,  67 ], [ 177,  77 ], [ 177,  87 ],     [ 190,  85 ], [ 190,  86  ], [ 190,  97 ], [ 190,  82 ], [ 190,  84 ], [ 195,  85 ], [ 185,  92 ], [ 185,  77 ], [ 183,  87 ], [ 183,  77 ], [ 183,  78 ], [ 182,  88 ],     [ 177,  78 ], [ 177,  82  ], [ 176,  70 ], [ 172,  65 ], [ 170,  62 ], [ 170,  68 ], [ 173,  65 ], [ 173,  64 ], [ 168,  71 ], [ 169,  62 ], [ 174,  80 ], [ 173,  65 ],     [ 180,  100], [ 180,  60  ], [ 170,  90 ], [ 170,  55 ], [ 180,  68 ], [ 175,  92 ], [ 168,  100], [ 177,  110], [ 180,  110], [ 186,  65 ], [ 186,  145], [ 190,  120],     [ 175,  55 ], [ 182,  65  ], [ 195,  70 ], [ 173,  90 ], [ 175,  50 ], [ 182,  130], [ 183,  65 ], [ 150,  82 ], [ 155,  80 ], [ 200,  70 ], [ 185,  110], [ 176,  100]]

这是作为训练数据集的高度和体重数据。

我还将y改为

y = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

这代表可接受和不可接受,我的两个类别。

如何测试一个新的案例如[140, 85]来查看它是1还是0?

Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) 

示例中使用了与训练数据相同的数据,并且其计算基于训练数据集的最小值、最大值和步长,这让人感到困惑。请问有什么帮助吗?


回答:

你所链接的示例之所以复杂,是因为它还创建了你在网站上看到的图表。

如果没有图表,操作就简单了,只需调用

result = clf.predict([140,85])

即可得到你的新样本[140, 85]的结果。

总结一下,你真正需要的只是以下内容:

from sklearn import neighbors# 在这里定义你的X和yclf = neighbors.KNeighborsClassifier(5)clf.fit(X, y)result = clf.predict([140,85])

分类器的参数(在我的例子中是5)描述了在预测时应考虑多少个邻居。调整这个数字,直到你得到满意的结果。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注