分类-鸢尾花分类

目录

基本步骤

决策树(分类)

导入鸢尾花数据集

赋值给x与y

划分数据集

导入决策树模型

实例化

训练

[​编辑 导入计算准确率的库](#编辑 导入计算准确率的库)

计算准确率

随机森林(分类)

导入鸢尾花的数据集,

赋值x,y

取后一百组

划分数据集

导入随机森林分类模型

实例化模型

训练模型

预测训练集数据

预测测试集数据

导入计算准确率的库

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

逻辑回归

导入数据

对x,y赋值

划分数据集

导入模型

实例化模型

训练

预测训练集和测试集

看准确率

支持向量机

导库

赋值x,y

划分数据集

导SVC的库

线性核

实例化

训练

预测训练集,测试集

求准确率

​编辑高斯核

实例化

训练

预测训练集,测试集

求准确率

KNN分类

导库

给x,y赋值

划分数据集

导库

实例化

训练

预测训练集与测试集

求准确率


基本步骤

导入数据集

赋值x,y

划分数据集

导入模型

实例化模型

训练模型

使用模型进行预测

求准确率

决策树(分类)

导入鸢尾花数据集

赋值给x与y

python 复制代码
#导入鸢尾花数据集,并赋值x,y
from sklearn.datasets import load_iris
data = load_iris()
python 复制代码
x = data['data']
x
python 复制代码
y = data['target']
y
python 复制代码
#先研究二分类问题,选择前一百的数据
x = x[:100]
y = y[:100]

划分数据集

导入决策树模型

实例化

训练

python 复制代码
#导入我们的决策树分类模型
from sklearn.tree import DecisionTreeClassifier

#实例化模型
#设置最长深度为3,太深容易过拟合
model = DecisionTreeClassifier(max_depth = 3)

#训练模型
model.fit(X_train,y_train)

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

导入计算准确率的库

计算准确率

python 复制代码
#准确率的库
from sklearn.metrics import accuracy_score

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

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

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

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

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

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

python 复制代码
from sklearn.metrics import mean_squared_error
mean_squared_error(真实值,预测值)
python 复制代码
from sklearn.metrics import r2_score
r2_score(真实值,预测值)

随机森林(分类)

导入鸢尾花的数据集,

赋值x,y

取后一百组

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

划分数据集

python 复制代码
#划分数据集
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)

导入随机森林分类模型

实例化模型

训练模型

python 复制代码
#导入我们的随机森林分类模型
from sklearn.ensemble import RandomForestClassifier

#实例化模型
model = RandomForestClassifier()

#训练模型
model.fit(X_train,y_train)

预测训练集数据

python 复制代码
#预测训练集数据
y_train_pred = model.predict(X_train)
y_train_pred

预测测试集数据

python 复制代码
#预测测试集数据
y_test_pred = model.predict(X_test)
y_test_pred 

导入计算准确率的库

python 复制代码
#准确率
from sklearn.metrics import accuracy_score

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

python 复制代码
#训练集
accuracy_score(y_train,y_train_pred)
python 复制代码
#测试集
accuracy_score(y_test,y_test_pred)

这个模型还是不错的

逻辑回归

导入数据

对x,y赋值

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

划分数据集

python 复制代码
#划分数据集
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)

导入模型

实例化模型

训练

python 复制代码
#导入我们的随机森林分类模型
from sklearn.ensemble import RandomForestClassifier

#实例化模型
model = RandomForestClassifier()

#训练模型
model.fit(X_train,y_train)

预测训练集和测试集

python 复制代码
#预测训练集数据
y_train_pred = model.predict(X_train)
y_train_pred
python 复制代码
#预测测试集数据
y_test_pred = model.predict(X_test)
y_test_pred 

看准确率

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

结果还是不错的

支持向量机

导库

赋值x,y

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

划分数据集

python 复制代码
#划分数据集
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的库

python 复制代码
#导库
from sklearn.svm import SVC
#实例化
#SVC有两个核

线性核

实例化

训练

python 复制代码
# 线性核
model_linear = SVC(kernel='linear', C=1.0)
model_linear.fit(X_train,y_train)

预测训练集,测试集

python 复制代码
#预测训练集
#预测训练集数据
y_train_pred = model_linear.predict(X_train)
y_train_pred
python 复制代码
#预测测试集数据
y_test_pred = model_linear.predict(X_test)
y_test_pred 

求准确率

python 复制代码
#准确率
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))

高斯核

实例化

训练

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

预测训练集,测试集

python 复制代码
#预测训练集
#预测训练集数据
y_train_pred = model_rbf.predict(X_train)
y_train_pred
python 复制代码
#预测测试集数据
y_test_pred = model_rbf.predict(X_test)
y_test_pred 

求准确率

python 复制代码
#准确率
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赋值

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

划分数据集

python 复制代码
#划分数据集
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)

导库

实例化

训练

python 复制代码
#导库
from sklearn.neighbors import KNeighborsClassifier

#实例化
model = KNeighborsClassifier(n_neighbors=3)

#训练
model.fit(X_train, y_train)

预测训练集与测试集

python 复制代码
#预测训练集数据
y_train_pred = model.predict(X_train)
y_train_pred
python 复制代码
#预测测试集数据
y_test_pred = model.predict(X_test)
y_test_pred 

求准确率

python 复制代码
#准确率
from sklearn.metrics import accuracy_score
python 复制代码
#训练集
accuracy_score(y_train,y_train_pred)
python 复制代码
#测试集
accuracy_score(y_test,y_test_pred)
相关推荐
策知道6 分钟前
依托政府工作报告准备省考【经验贴】
大数据·数据库·人工智能·搜索引擎·政务
工程师老罗17 分钟前
Pytorch如何加载和读取VOC数据集用来做目标检测?
人工智能·pytorch·目标检测
测试_AI_一辰18 分钟前
Agent & RAG 测试工程05:把 RAG 的检索过程跑清楚:chunk 是什么、怎么来的、怎么被命中的
开发语言·人工智能·功能测试·自动化·ai编程
Henry-SAP19 分钟前
SAP(ERP) 组织结构业务视角解析
大数据·人工智能·sap·erp·sap pp
龙腾亚太19 分钟前
航空零部件加工变形难题破解:数字孪生 + 深度学习的精度控制实战
人工智能·深度学习·数字孪生·ai工程师·ai证书·转型ai
Coding茶水间20 分钟前
基于深度学习的输电电力设备检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
是Dream呀20 分钟前
基于深度学习的人类活动识别模型研究:HAR-DeepConvLG的设计与应用
人工智能·深度学习
jkyy201433 分钟前
健康座舱:健康有益赋能新能源汽车开启移动健康新场景
人工智能·物联网·汽车·健康医疗
冀博40 分钟前
从零到一:我如何用 LangChain + 智谱 AI 搭建具备“记忆与手脚”的智能体
人工智能·langchain
AI周红伟44 分钟前
周红伟:中国信息通信研究院院长余晓晖关于智算:《算力互联互通行动计划》和《关于深入实施“人工智能+”行动的意见》的意见
人工智能