IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 计算思维与数据科学 KNN分类建模 -> 正文阅读

[人工智能]计算思维与数据科学 KNN分类建模

二、实验主要内容
离散化鲍鱼数据。
划分训练集与测试集,并标准化数据。
构建分类模型。
三、实验仪器设备
Windows
Anaconda
Spyder
四、实验步骤
1、离散化鲍鱼数据
由于原始数据中”sex”一列取值为字符,无法进行数学运算,将该列转换为哑变量。
2、划分训练集与测试集
1)分别按照8:2和5:5的比例划分训练集和测试集;
2)对训练集和测试集进行标准化;
3、构建分类模型
1)构建KNN模型;
2)训练KNN模型,预测测试集鲍鱼的年龄;对年龄预测结果进行准确率分析并做图形化展示;对比不同训练集/测试集比例下的预测结果并做图形化展示。
实验代码

import pandas as pd
import numpy as np
data = pd.read_csv('C://Users//ASUS//Desktop//abalone.data')
data1 = pd.get_dummies(data['sex'])

data = data.drop(['sex'],axis=1)
data.insert(0,'F',data1['F'])
data.insert(1,'I',data1['I'])
data.insert(2,'M',data1['M'])

data_index = data[data['rings']==1].index.tolist()[0]
a =data["rings"].value_counts() / len(data)
data_rings = data['rings']
print(data_rings.describe())
data2=data.iloc[data['rings'],[ 0,1,2,3,4,5,6,7,8,9]]

data2 = np.array(data2)
print(data2)
print('数据集的形状为:',data2.shape)
print(type(data2))

data_rings = np.array(data["rings"])
print(data_rings)
print(type(data_rings))

print(data2)
print(data_rings)

print('数据集的形状为:',data_rings.shape)
"""
for train_index, test_index in ss.split(data2, data_rings):
    print("TRAIN_INDEX:", train_index, "TEST_INDEX:", test_index)#获得索引值
    X_train, X_test = data2[train_index], data2[test_index]#训练集对应的值
    y_train, y_test = data_rings[train_index], data_rings[test_index]#类别集对应的值
"""
from sklearn.model_selection import train_test_split
data2_train,data2_test,data_rings_train,data_rings_test = \
train_test_split(data2,data_rings,
      test_size = 0.2,random_state = 22)
print('训练集数据的形状为:',data2_train.shape)
print('训练集标签的形状为:',data_rings_train.shape)
print('测试集数据的形状为:',data2_test.shape)
print('测试集标签的形状为:',data_rings_test.shape) 
from sklearn.neighbors import KNeighborsClassifier 
# 定义一个距离判别分类器对象
knn = KNeighborsClassifier()
#k近邻算法,有监督学习,分类算法
# 调用该对象的训练方法,主要接收两个参数:训练数据集及其样本标签
knn.fit(data2_train, data_rings_train)  

# 调用该对象的测试方法,主要接收一个参数:测试数据集
data_rings_predict = knn.predict(data2_test)
# 输出测试数据集的预测标签
print('测试数据集的预测标签为:\n ', 
      [data_rings_predict])
print('测试数据集的正确标签为:\n ', 
      [data_rings_test])
data_T = []
data_F = []
for i in range(0,len(data_rings_predict)):
    if data_rings_predict[i] == data_rings_test[i]:
        data_T.append(data_rings_predict[i])
    else:
        data_F.append(data_rings_predict[i])
print('预测正确的数据为:',data_T)
print('预测错误的数据为',data_F)

print(len(data_T))
print(len(data_F))
print('准确率为:',len(data_T)/(len(data_T)+len(data_F)))
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.figure()
labels = ["预测正确数据", "预测错误数据"]
fracs = [len(data_T),len(data_F)]
plt.title('预测结果展示图')
exp = [0.05,0.2]
plt.pie(x=fracs,labels=labels,explode=exp,shadow=True)
plt.show()
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:48:58  更:2021-12-13 12:50:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 0:32:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码