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

SCIKIT-LEARN 决策树实现csv文档简单的推论预测

一.学习背景

        原文来自scikit-learn的学习拓展,根据樱花分类示例衍生而来。源文开源地址:scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation,想学机器学习和数据挖掘的可以去瞧瞧!

二.读取csv文档

df = pd.read_csv('./test_data.csv')
print("df: ", df)
# 假设目标变量是列名为 'target' 的列
#X = df.drop('target', axis=1)  # 特征axis:轴的方向,0为行,1为列,默认为0
X = df.drop(columns=['z'], inplace=False)
y = df['z']  # 目标变量

三.划分数据集

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X_test2=[[2,10],[0,3],[3,3],[3,7],[0,6],[1,6],[1,3],[1,4]]
print("X_test: ", X_test)
print("y_test: ", y_test)

四. 创建决策树分类器 

clf = DecisionTreeClassifier(random_state=42)

 五.训练模型

clf.fit(X_train, y_train)

六.预测测试集

y_pred = clf.predict(X_test2)
print("y_pred: ", y_pred)

七.源码 

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report, accuracy_score
from sklearn.tree import plot_tree
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

# 读取CSV文件
df = pd.read_csv('./test_data.csv')
print("df: ", df)
# 假设目标变量是列名为 'target' 的列
#X = df.drop('target', axis=1)  # 特征axis:轴的方向,0为行,1为列,默认为0
X = df.drop(columns=['z'], inplace=False)
y = df['z']  # 目标变量

# iris = load_iris()
# X, y = iris.data, iris.target
# print("X: ", X)
# print("y: ", y)
# df = pd.DataFrame(X, columns=iris.feature_names)
# df['target'] = y
#print("df: ", df)

# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X_test2=[[2,10],[0,3],[3,3],[3,7],[0,6],[1,6],[1,3],[1,4]]
print("X_test: ", X_test)
print("y_test: ", y_test)


# 创建决策树分类器
clf = DecisionTreeClassifier(random_state=42)

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

# 预测测试集
y_pred = clf.predict(X_test2)
print("y_pred: ", y_pred)
#

八.推测演示结果

        源数据csv文档

 

根据数据x,y预测z的结果,预测[2,10],[0,3],[3,3],[3,7],[0,6],[1,6],[1,3],[1,4]结果,下面是推演过程。


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

相关文章:

  • C++:string类(简单介绍)
  • DaoCloud 亮相 2025 GDC丨开源赋能 AI 更多可能
  • 翻译: 深入分析LLMs like ChatGPT 一
  • MySQL实现文档全文搜索,分词匹配多段落重排展示,知识库搜索原理分享
  • 【STM32(HAL库) RTC】(实时时钟)配置
  • 【力扣】2619. 数组原型对象的最后一个元素——认识原型与原型链
  • java23种设计模式-观察者模式
  • OpenHarmony应用间跳转
  • 在docker中运行R容器,并在Windows下的vscode中使用该R
  • 卷积神经网络(Convolutional Neural Network,CNN)详细解释(带示例)
  • nexus如何上传自己的依赖包
  • 工程化与框架系列(12)--响应式框架原理
  • 16.2 LangChain 表达式语言设计哲学:重新定义大模型应用开发范式
  • 4.3MISC流量分析练习-wireshark-https
  • 哈工大信息管理与信息系统本科,有C++和Python基础,如何选择就业方向?
  • taoCMS v3.0.2 任意文件读取漏洞(CVE-2022-23316)
  • 如何保证 Redis 缓存和数据库的一致性?
  • Vue3:Vue Router的学习(四)
  • 民安智库:物业满意度调查的数据分析经验分享
  • 011 rocketmq过滤消息