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

24.11.14 朴素贝叶斯分类 决策树-分类

朴素贝叶斯分类

import joblib
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB

# 实例化贝叶斯分类器
model = MultinomialNB()
# 记载鸢尾花数据
X, y = load_iris(return_X_y=True)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.8, random_state=666)
# 训练模型
model.fit(X_train, y_train)
# 评估
score = model.score(X_test, y_test)
print(score)
# 保存模型
joblib.dump(model, "./model/bayes.bin")

import joblib

# 加载模型
model = joblib.load("./model/bayes.bin")
# 传入参数进行预测
poin = model.predict([[1, 2, 3, 4]])
print(poin)

 

# 泰坦尼克号生还测试
import pandas as pd
import joblib
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import MultinomialNB

# 实例化贝叶斯分类器
model = MultinomialNB()
# 实例化字典列表特征提取


data = pd.read_csv("./src/titanic/titanic.csv")
x = data[["age", "sex", "pclass"]]
x["age"].fillna(x["age"].value_counts().index[0], inplace=True)
print(x)
x["sex"] = [0 if i == "male" else 1 for i in x["sex"]]
x["pclass"] = [int(i[0]) for i in x["pclass"]]
print(x)
# y = data["survived"]

# 数据处理
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(x, y, train_size=0.8, random_state=666)
# 训练模型
model.fit(X_train, y_train)
# 评估
score = model.score(X_test, y_test)
print(score)
# 保存模型
joblib.dump(model, "./model/ttbayes.bin")
import joblib

# 加载模型
model = joblib.load("./model/ttbayes.bin")
# 传入参数进行预测
poin = model.predict([[3,1,3]])
print(poin)

决策树-分类

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeClassifier, export_graphviz

# 决策树
model = DecisionTreeClassifier(criterion="entropy")
# 加载数据
x, y = load_iris(return_X_y=True)
# 
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

# 加载标准化估计器
scaler = StandardScaler()

scaler.fit(x_train)
x_train = scaler.transform(x_train)

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

# 标准化需要用来测试的数据
x_test = scaler.transform(x_test)
# 评分
rank = model.score(x_test, y_test)
print(rank)

# 预估数据
y_pred = model.predict([[1, 1, 1, 1], [2, 2, 2, 2]])
print(y_pred)

# 决策过程可视化
export_graphviz(model, out_file="./model/tree.dot", feature_names=["萼片长", "萼片宽", "花瓣长", "花瓣宽"])

 


http://www.kler.cn/a/401957.html

相关文章:

  • 数据结构(单向链表——c语言实现)
  • Spring Boot 中使用 @Transactional 注解配置事务管理
  • Unix发展历程的深度探索
  • 常见网络厂商设备默认用户名/密码大全
  • Java 使用MyBatis-Plus数据操作关键字冲突报错You have an error in your SQL syntax问题
  • Stable Diffusion核心网络结构——CLIP Text Encoder
  • 【算法】动态规划中01背包问题解析
  • uniapp 自定义加载组件,全屏加载,局部加载 (微信小程序)
  • git 基础之 merge 和 rebase 的比较
  • 运维面试题.云计算面试题之三ELK
  • VGG16-Pytorch实现人脸识别
  • C/C++实现tcp客户端和服务端的实现(从零开始写自己的高性能服务器)
  • AI 驱动低代码平台:开创智能化用户体验新纪元
  • vue功能基础元素使用
  • Java中日志采集框架-JUL、Slf4j、Log4j、Logstash
  • 在 macOS 和 Linux 中,波浪号 `~`的区别
  • 使用C++编写一个程序,模拟掷骰子的过程,输出1到6之间的随机数。
  • 【企业级分布式系统】ELK优化
  • 使用Go语言开发一个高性能的Web服务器,支持静态文件服务和实时通信。
  • 《深入理解 Spring MVC 工作流程》
  • 实验十三 生态安全评价
  • MySQL扩展varchar字段长度能否Online DDL
  • 【服务器】端口映射
  • 爬虫开发工具与环境搭建——使用Postman和浏览器开发者工具
  • 【嵌入式Linux】Linux设备树详解
  • 【算法设计与分析实训】第1关:求序列的最大字段和