数据分析实战—玻璃类别分类

1.实战内容

(1) 加载玻璃类别数据集,划分训练集、测试集

python 复制代码
import pandas as pd
import numpy as np
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
# 读取数据集
glass = pd.read_csv('glass.csv', encoding='gbk', header=None)
glass_data = glass.iloc[1:, : -1]
glass_target = glass.iloc[1:, -1]
glass
python 复制代码
glass_data
python 复制代码
glass_target
python 复制代码
# 划分训练集和测试集
from sklearn.model_selection import train_test_split
glass_data_train, glass_data_test, \
glass_target_train, glass_target_test = \
train_test_split(glass_data, glass_target, test_size=0.2, random_state=6)
python 复制代码
glass_data_train
python 复制代码
glass_data_test

(2) 对训练集、测试集进行标准差标准化,并分别输出标准化之后的训练集、测试集的方差和均值。

python 复制代码
# 标准差标准化
from sklearn.preprocessing import StandardScaler
stdScale = StandardScaler().fit(glass_data_train)
glass_trainScaler = stdScale.transform(glass_data_train)
glass_testScaler = stdScale.transform(glass_data_test)
print('标准差标准化后训练集数据的方差为:', np.var(glass_trainScaler))
print('标准差标准化后训练集数据的均值为:', np.mean(glass_trainScaler))
print('标准差标准化后测试集数据的方差为:', np.var(glass_testScaler))
print('标准差标准化后测试集数据的均值为:', np.mean(glass_testScaler))
python 复制代码
glass_trainScaler

(3) 使用支持向量机对玻璃类别数据集进行分类,输出分类模型评价报告。

python 复制代码
# PCA降维
from sklearn.decomposition import PCA
pca = PCA(n_components=0.999).fit(glass_data_train)
glass_trainPca = pca.transform(glass_data_train)
glass_testPca = pca.transform(glass_data_test)
python 复制代码
# SVM分类模型
from sklearn.svm import SVC
svm = SVC().fit(glass_trainScaler, glass_target_train)
print('建立的SVM模型为:\n', svm)
glass_target_pred = svm.predict(glass_testScaler)
print('预测前10个结果为:\n', glass_target_pred[: 10])
# 打印出分类报告,评价分类模型性能
from sklearn.metrics import classification_report
print('使用SVM预测glass数据的分类报告为:', '\n',
classification_report(glass_target_test, glass_target_pred))

(4) 使用梯度提升回归树对玻璃类别数据集进行回归,并计算回归模型的5项评价指标得分。

python 复制代码
from sklearn.ensemble import GradientBoostingRegressor
GBR_glass = GradientBoostingRegressor().fit(glass_trainPca, glass_target_train)
glass_target_pred = GBR_glass.predict(glass_testPca)
# 回归模型评价指标
from sklearn.metrics import explained_variance_score, mean_absolute_error, mean_squared_error, median_absolute_error, r2_score
print('glass数据梯度提升回归树模型的平均绝对误差为:',
mean_absolute_error(glass_target_test, glass_target_pred))
print('glass数据梯度提升回归树模型的均方误差为:',
mean_squared_error(glass_target_test, glass_target_pred))
print('glass数据梯度提升回归树模型的中值绝对误差为:',
median_absolute_error(glass_target_test, glass_target_pred))
print('glass数据梯度提升回归树模型的可解释方差值为:',
explained_variance_score(glass_target_test, glass_target_pred))
print('glass数据梯度提升回归树模型的 R 方值为:',
r2_score(glass_target_test, glass_target_pred))

2.数据集下载

https://gitee.com/qxh200000/c_-code/commit/1af2468e6b7f1bd8cd3b890018031c6fa6dff9bd

相关推荐
weixin_307779139 分钟前
Python编码规范之字符串规范修复程序详解
开发语言·python·代码规范
爬台阶的蚂蚁17 分钟前
使用 UV 工具管理 Python 项目的常用命令
python·uv
郝学胜-神的一滴17 分钟前
深入理解 Python 的 __init_subclass__ 方法:自定义类行为的新方式 (Effective Python 第48条)
开发语言·python·程序人生·个人开发
王景程33 分钟前
让IOT版说话
后端·python·flask
JJJJ_iii37 分钟前
【机器学习11】决策树进阶、随机森林、XGBoost、模型对比
人工智能·python·神经网络·算法·决策树·随机森林·机器学习
Eiceblue1 小时前
使用 Python 向 PDF 添加附件与附件注释
linux·开发语言·vscode·python·pdf
咚咚王者1 小时前
人工智能之编程基础 Python 入门:第五章 基本数据类型(一)
人工智能·python
南方的狮子先生2 小时前
【深度学习】卷积神经网络(CNN)入门:看图识物不再难!
人工智能·笔记·深度学习·神经网络·机器学习·cnn·1024程序员节
@LetsTGBot搜索引擎机器人2 小时前
从零打造 Telegram 中文生态:界面汉化 + 中文Bot + @letstgbot 搜索引擎整合实战
开发语言·python·搜索引擎·github·全文检索
2501_938963962 小时前
基于音乐推荐数据的逻辑回归实验报告:曲风特征与用户收听意愿预测
算法·机器学习·逻辑回归