KNN拟合以及预测的Python代码
时间: 2023-11-19 14:58:42 浏览: 29
以下是KNN拟合和预测的Python代码示例:
```python
from sklearn.neighbors import KNeighborsRegressor
# 创建KNN模型
knn = KNeighborsRegressor(n_neighbors=3)
# 拟合数据
X_train = [[0, 0], [1, 1], [2, 2], [3, 3]]
y_train = [0, 1, 2, 3]
knn.fit(X_train, y_train)
# 进行预测
X_test = [[1.5, 1.5], [2.5, 2.5]]
y_pred = knn.predict(X_test)
print(y_pred)
```
输出:
```
[1. 2.]
```
这个例子中,我们使用KNN模型拟合了一些二维数据点(X_train)和对应的标签(y_train)。然后我们使用同样的模型对一些新的数据点(X_test)进行预测,输出了预测的标签(y_pred)。
相关问题
SVM和KNN算法结合的Python代码
下面是SVM和KNN算法结合的Python代码示例:
```python
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 初始化KNN和SVM分类器
knn = KNeighborsClassifier(n_neighbors=5)
svm = SVC(kernel='linear', C=0.5)
# 使用训练集拟合分类器
knn.fit(X_train, y_train)
svm.fit(X_train, y_train)
# 使用测试集预测结果
knn_pred = knn.predict(X_test)
svm_pred = svm.predict(X_test)
# 计算准确率
knn_acc = accuracy_score(y_test, knn_pred)
svm_acc = accuracy_score(y_test, svm_pred)
# 输出准确率
print("KNN准确率:", knn_acc)
print("SVM准确率:", svm_acc)
```
在这个示例中,我们使用了鸢尾花数据集,将数据集分为训练集和测试集,初始化了KNN和SVM分类器,并使用训练集拟合分类器。然后使用测试集预测结果,并计算准确率。最后输出了KNN和SVM的准确率。
knn算法python代码
下面是一个使用 Scikit-learn 库实现 KNN 算法的 Python 代码示例:
```python
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载数据集
iris = load_iris()
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2)
# 创建 KNN 模型,K=3
knn = KNeighborsClassifier(n_neighbors=3)
# 拟合模型
knn.fit(X_train, y_train)
# 预测
y_pred = knn.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print('Accuracy:', accuracy)
```
注意,在实际使用 KNN 算法时,需要进行特征缩放等预处理,并且需要通过交叉验证等方法来选择最优的 K 值。