机械学习实验一代码

import numpy as np
from sklearn.neighbors import KNeighborsClassifier

# 读取数据
def read_data(file_path):
    data = []
    with open(file_path, 'r') as file:
        for line in file:
            values = line.strip().split()
            data.append([float(values[0]), float(values[1])])
    return np.array(data)

# 读取训练数据
snacks_data = read_data('snacks.txt')
bags_data = read_data('bags.txt')
appliances_data = read_data('appliances.txt')

# 构建标签
snacks_labels = np.zeros(len(snacks_data))
bags_labels = np.ones(len(bags_data))
appliances_labels = np.ones(len(appliances_data)) * 2

# 合并数据和标签
data = np.concatenate((snacks_data, bags_data, appliances_data))
labels = np.concatenate((snacks_labels, bags_labels, appliances_labels))

# 创建KNN分类器,设置邻居数量为3
knn = KNeighborsClassifier(n_neighbors=3)

# 使用数据和标签训练分类器
knn.fit(data, labels)

# 要预测的商品
new_sample = np.array([[10, 10]])

# 预测商品所属类别
prediction = knn.predict(new_sample)

# 打印预测结果
if prediction == 0:
    print("该商品属于零食类")
elif prediction == 1:
    print("该商品属于包类")
else:
    print("该商品属于电器类")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值