【发布时间】:2021-11-04 13:19:15
【问题描述】:
我正在尝试使用 Sci-Kit Learn 练习使用 Iris 数据集进行 K-Nearest Neighbor 预测模型。这是我写的:
import sklearn
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('ggplot')
import seaborn as sns
iris = datasets.load_iris()
X = iris.data
y = iris.target
knn =KNeighborsClassifier(n_neighbors=6)
knn.fit(X, y)
这是我的输出>>> KNeighborsClassifier(n_neighbors=6)
但是,我想我应该得到:KNeighborsClassifer(algorithm = 'auto', leaf_size =30, metric ='minkowski, metric_params=None, n_jobs=1, n_neighbors=6, p=2, weights='uniform')
另外,我尝试根据新的 X 值数组 (X_new) 预测目标值,如下所示:
X_new = np.array([[5.6,2.8,3.9,1.1],[5.7,2.6,3.8,1.3],[4.7,3.2,1.3,0.2]])
Pred = knn.predict(X_new)
print(Pred)
但是,它根本没有提供任何输出。任何帮助/建议将不胜感激!
【问题讨论】:
-
第一期见stackoverflow.com/q/65334145/10495893和stackoverflow.com/a/66380057/10495893。后者令人惊讶。
type(Pred)或Pred.shape是什么? -
@BenReiniger,下面这两行都返回错误“Pred 未定义”```Pred.dtype Pred.shape()'''
-
然后
Pred = knn.predict(X_new)行甚至还没有运行。前面的所有行都跑完了吗? -
如果我运行你的代码它可以工作,所以再次检查你是否可以重现错误
-
我确认代码是正确的,
Pred将numpy.ndarray作为array([1, 1, 0])返回。
标签: python numpy scikit-learn knn