当前位置: 首页 > news >正文

分类-鸢尾花分类

目录

基本步骤

决策树(分类)

导入鸢尾花数据集

赋值给x与y

划分数据集

 导入决策树模型

实例化

训练

​编辑 导入计算准确率的库

计算准确率

随机森林(分类)

导入鸢尾花的数据集,

赋值x,y

取后一百组

划分数据集 

导入随机森林分类模型

实例化模型

训练模型 

 预测训练集数据 

预测测试集数据 

 导入计算准确率的库

对训练集和测试集求准确率 

逻辑回归

导入数据

对x,y赋值

划分数据集 

导入模型

实例化模型

训练 

预测训练集和测试集 

看准确率 

支持向量机

导库

赋值x,y

划分数据集 

导SVC的库

线性核 

实例化

训练 

预测训练集,测试集 

求准确率 

​编辑高斯核

实例化

训练

预测训练集,测试集

求准确率

KNN分类 

导库

给x,y赋值

划分数据集

导库

实例化

训练

预测训练集与测试集

求准确率


基本步骤

导入数据集

赋值x,y

划分数据集

导入模型

实例化模型

训练模型

使用模型进行预测

求准确率

决策树(分类)

导入鸢尾花数据集

赋值给x与y

#导入鸢尾花数据集,并赋值x,y
from sklearn.datasets import load_iris
data = load_iris()
x = data['data']
x
y = data['target']
y

#先研究二分类问题,选择前一百的数据
x = x[:100]
y = y[:100]

 

划分数据集

 导入决策树模型

实例化

训练

#导入我们的决策树分类模型
from sklearn.tree import DecisionTreeClassifier#实例化模型
#设置最长深度为3,太深容易过拟合
model = DecisionTreeClassifier(max_depth = 3)#训练模型
model.fit(X_train,y_train)

对训练集和测试集进行预测

 导入计算准确率的库

计算准确率

#准确率的库
from sklearn.metrics import accuracy_score

这么厉害?直接干到1了,难以置信,于是查了一下,发现是我没常识了,对不起 

于是我们修改代码,选择的是后100数据 

#先研究二分类问题,选择后一百的数据
x = x[50:]
y = y[50:]

然后其他的不用改,从头 按 shift+enter 运行到最后

 可以,这个结果才是比较正常的

也可以计算其他的指标比如MSE,R^2

from sklearn.metrics import mean_squared_error
mean_squared_error(真实值,预测值)
from sklearn.metrics import r2_score
r2_score(真实值,预测值)

随机森林(分类)

导入鸢尾花的数据集,

赋值x,y

取后一百组

#导入鸢尾花的数据集,赋值x,y,取后一百组,与上面一样
from sklearn.datasets import load_iris
data = load_iris()
x = data['data']
y = data['target']
#先研究二分类问题,选择后一百的数据
x = x[50:]
y = y[50:]

划分数据集 

#划分数据集
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=10)

导入随机森林分类模型

实例化模型

训练模型 

#导入我们的随机森林分类模型
from sklearn.ensemble import RandomForestClassifier#实例化模型
model = RandomForestClassifier()#训练模型
model.fit(X_train,y_train)

 预测训练集数据 

#预测训练集数据
y_train_pred = model.predict(X_train)
y_train_pred

预测测试集数据 

#预测测试集数据
y_test_pred = model.predict(X_test)
y_test_pred 

 导入计算准确率的库

#准确率
from sklearn.metrics import accuracy_score

对训练集和测试集求准确率 

#训练集
accuracy_score(y_train,y_train_pred)
#测试集
accuracy_score(y_test,y_test_pred)

这个模型还是不错的

逻辑回归

导入数据

对x,y赋值

#导入鸢尾花的数据集,赋值x,y,取后一百组,与上面一样
from sklearn.datasets import load_iris
data = load_iris()
x = data['data']
y = data['target']
#先研究二分类问题,选择后一百的数据
x = x[50:]
y = y[50:]

划分数据集 

#划分数据集
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=10)

导入模型

实例化模型

训练 

#导入我们的随机森林分类模型
from sklearn.ensemble import RandomForestClassifier#实例化模型
model = RandomForestClassifier()#训练模型
model.fit(X_train,y_train)

预测训练集和测试集 

#预测训练集数据
y_train_pred = model.predict(X_train)
y_train_pred
#预测测试集数据
y_test_pred = model.predict(X_test)
y_test_pred 

看准确率 

#准确率
from sklearn.metrics import accuracy_score
#训练集
accuracy_score(y_train,y_train_pred)
#测试集
accuracy_score(y_test,y_test_pred)

结果还是不错的 

支持向量机

导库

赋值x,y

#导入鸢尾花的数据集,赋值x,y,取后一百组,与上面一样
from sklearn.datasets import load_iris
data = load_iris()
x = data['data']
y = data['target']
#先研究二分类问题,选择后一百的数据
x = x[50:]
y = y[50:]

划分数据集 

#划分数据集
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=18)

导SVC的库

#导库
from sklearn.svm import SVC
#实例化
#SVC有两个核

线性核 

实例化

训练 

# 线性核
model_linear = SVC(kernel='linear', C=1.0)
model_linear.fit(X_train,y_train)

预测训练集,测试集 

#预测训练集
#预测训练集数据
y_train_pred = model_linear.predict(X_train)
y_train_pred
#预测测试集数据
y_test_pred = model_linear.predict(X_test)
y_test_pred 

求准确率 

#准确率
from sklearn.metrics import accuracy_score
#训练集
print("model_linear训练集准确率:")
print(accuracy_score(y_train,y_train_pred))
#测试集
print("model_linear测试集准确率:")
print(accuracy_score(y_test,y_test_pred))

高斯核

实例化

训练

# 高斯核(RBF)
model_rbf = SVC(kernel='rbf', gamma=0.1, C=1.0)
model_rbf.fit(X_train,y_train)

预测训练集,测试集

#预测训练集
#预测训练集数据
y_train_pred = model_rbf.predict(X_train)
y_train_pred
#预测测试集数据
y_test_pred = model_rbf.predict(X_test)
y_test_pred 

求准确率

#准确率
from sklearn.metrics import accuracy_score
#训练集
print("model_rbfr训练集准确率:")
print(accuracy_score(y_train,y_train_pred))
#测试集
print("model_rbf测试集准确率:")      
print(accuracy_score(y_test,y_test_pred))

KNN分类 

导库

给x,y赋值

#导入鸢尾花的数据集,赋值x,y,取后一百组,与上面一样
from sklearn.datasets import load_iris
data = load_iris()
x = data['data']
y = data['target']
#先研究二分类问题,选择后一百的数据
x = x[50:]
y = y[50:]

划分数据集

#划分数据集
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=20)

导库

实例化

训练

#导库
from sklearn.neighbors import KNeighborsClassifier#实例化
model = KNeighborsClassifier(n_neighbors=3)#训练
model.fit(X_train, y_train)

预测训练集与测试集

#预测训练集数据
y_train_pred = model.predict(X_train)
y_train_pred
#预测测试集数据
y_test_pred = model.predict(X_test)
y_test_pred 

求准确率

#准确率
from sklearn.metrics import accuracy_score
#训练集
accuracy_score(y_train,y_train_pred)
#测试集
accuracy_score(y_test,y_test_pred)

http://www.dtcms.com/a/307432.html

相关文章:

  • 佳维视工业显示器在除尘与过滤设备中的应用
  • 7800系列三端固定式线性稳压器的典型应用电路
  • MakeInstaller: 一款麒麟操作系统安装包制作工具
  • 进阶向:YOLOv11模型轻量化
  • TGD第九篇:三维应用——视频边缘检测
  • 爱普生002墨水与004墨水基本参数及支持机型
  • 【10】大恒相机SDK C++开发 ——对相机采集的原图像数据IFrameData裁剪ROI 实时显示在pictureBox中,3种方法实现(效率不同)
  • 零基础构建MCP服务器:TypeScript/Python双语言实战指南
  • 某讯视频风控参数逆向分析
  • 《C#与.NET Core跨平台开发的融合架构与实践逻辑》
  • 基于STM32的智能温控通风系统设计
  • Web 开发 08
  • 前端核心技术Node.js(四)——express框架
  • 【JavaEE】(7) 网络原理 TCP/IP 协议
  • 前端下载的EXCEL文件无法打开的解决办法
  • 9.Linux 调优与性能检测
  • 前端框架Vue3(四)——组件通信及其他API
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第一天(HTML5)
  • Java WEB技术-序列化和反序列化认识(SpringBoot的Jackson序列化行为?如何打破序列化过程的驼峰规则?如何解决学序列化循环引用问题?)
  • Amazon RDS for MySQL成本优化:RDS缓存降本实战
  • 三坐标测量机路径规划与补偿技术:如何用算法看见微米级误差?
  • 抖音集团基于Paimon的流式数据湖应用实践
  • 常见的中间件漏洞如tomcat,weblogic,jboss,apache靶场攻略
  • wpf之ContentPresenter
  • 《Java 程序设计》第 14 章 - JavaFX 基础
  • windows服务器 maven 配置环境变量,验证maven环境变量是否配置成功
  • AI在法律合同内容比对的应用实例
  • 使用 Elasticsearch 和 AI 构建智能重复项检测
  • 接口基础-智能家居控制系统
  • 家政小程序系统开发:满足多元家政需求