第五章习题-1

#使用KNN进行水果分类
import numpy as np
import pandas as pd
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

#读取txt格式数据,并转换为numpy数组
data = np.loadtxt('fruit_data.txt', delimiter='\t')
df = pd.DataFrame(data)
#将特征和标签分开
x = df.iloc[:, 1:5].values  #特征
y = df.iloc[:, 0].values   #标签
#数据归一化
x = preprocessing.scale(x)

#划分训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)

#使用KNN算法
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(x_train, y_train)
y_pred = knn.predict(x_test)
#测试准确率
accuracy = accuracy_score(y_test, y_pred)
print('KNN分类器的准确率:', accuracy)

fruitA = np.array([192, 8.4, 7.3, 0.55])  #假设输入一个新的水果特征
fruitA = preprocessing.scale(fruitA.reshape(1, -1))
#预测新水果的类别
predicted_class = knn.predict(fruitA)
print('新水果A的预测类别:', predicted_class[0])

fruitB = np.array([200, 7.3, 10.5, 0.72])  #假设输入一个新的水果特征
fruitB = preprocessing.scale(fruitB.reshape(1, -1))
#预测新水果的类别
predicted_class = knn.predict(fruitB)
print('新水果B的预测类别:', predicted_class[0])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值