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

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

相关推荐
SelectDB技术团队10 分钟前
Apache Doris + MCP:Agent 时代的实时数据分析底座
人工智能·数据挖掘·数据分析·apache·mcp
心扬19 分钟前
python网络编程
开发语言·网络·python·tcp/ip
忧陌60622 分钟前
DAY 44 预训练模型
python
点云SLAM39 分钟前
PyTorch 中contiguous函数使用详解和代码演示
人工智能·pytorch·python·3d深度学习·contiguous函数·张量内存布局优化·张量操作
小天才才1 小时前
【自然语言处理】大模型时代的数据标注(主动学习)
人工智能·机器学习·语言模型·自然语言处理
尘浮7281 小时前
60天python训练计划----day45
开发语言·python
苏苏susuus1 小时前
机器学习:集成学习概念和分类、随机森林、Adaboost、GBDT
机器学习·分类·集成学习
哆啦A梦的口袋呀1 小时前
基于Python学习《Head First设计模式》第六章 命令模式
python·学习·设计模式
努力搬砖的咸鱼1 小时前
从零开始搭建 Pytest 测试框架(Python 3.8 + PyCharm 版)
python·pycharm·pytest
Calvex1 小时前
PyCharm集成Conda环境
python·pycharm·conda