首页 > 其他分享 >【数学建模导论】Task04 机器学习

【数学建模导论】Task04 机器学习

时间:2024-08-04 23:52:31浏览次数:16  
标签:iris 标签 clf 导论 建模 右键 import Task04 sklearn

前言

Problem-Based Learning.
以解决问题为导向进行学习,培养工具思维

本章会接触到大量的算法,
一方面要理解算法的基本原理,
另一方面又要能针对实际问题进行灵活应用。

w(゚Д゚)w 要长脑子了!
我们完全可以把机器学习算法视作工具去使用。

机器学习本身就是统计模型的延伸

使用scikit-learn完成机器学习任务

对特征的编码

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

对特征的选择(与交叉验证)

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

数据集的切分与打乱

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

评估指标接口

分类问题

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

回归问题

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

聚类问题

鼠标右键 -> 在新标签页中打开图像
在这里插入图片描述

Python 编程实现

导入数据并处理数据

import numpy as np
import pandas as pd
# 鸢尾花数据集,红酒数据集,乳腺癌数据集,糖尿病数据集
from sklearn.datasets import load_iris,load_wine,load_breast_cancer,load_diabetes

# 回归重要指标
from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error
# 分类重要指标
from sklearn.metrics import accuracy_score, confusion_matrix, f1_score, precision_recall_curve, roc_auc_score

from sklearn.model_selection import train_test_split #训练集训练集分类器
import graphviz #画文字版决策树的模块
import pydotplus #画图片版决策树的模块
# from IPython.display import ./src/image #画图片版决策树的模块

iris = load_iris()
print(iris.data)              # 数据
print(iris.target_names)      # 标签名
print(iris.target)            # 标签值
print(iris.feature_names)     # 特证名(列名)

iris_dataframe = pd.concat([pd.DataFrame(iris.data),pd.DataFrame(iris.target)],axis=1)
print(iris_dataframe)

Xtrain, Xtest, Ytrain,Ytest = train_test_split(iris.data,iris.target,test_size=0.3)

随后选择对应接口创建模型,
输入数据通过 fit 方法进行训练,
然后进行 predict 并评估指标即可。

from sklearn.linear_model import LogisticRegression,LinearRegression
from sklearn.neighbors import KNeighborsRegressor,KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeRegressor,DecisionTreeClassifier
from sklearn.ensemble import RandomForestRegressor,RandomForestClassifier
from sklearn.ensemble import ExtraTreesRegressor,ExtraTreesClassifier
from sklearn.ensemble import AdaBoostRegressor,AdaBoostClassifier
from sklearn.ensemble import GradientBoostingRegressor,GradientBoostingClassifier

clf = RandomForestClassifier()
clf.fit(Xtrain, Ytrain)
Ypredict=clf.predict(Xtest)
print(r2_score(Ypredict,Ytest))
# 其中,决策树、随机森林等具有树形结构的基学习器可以把树形结构打印出来并保存为PDF或png文件

from sklearn import tree

clf = clf.estimators_[0]

tree_data = tree.export_graphviz(

    clf

    ,feature_names =iris.feature_names

    ,class_names = iris.target_names#也可以自己起名

    ,filled = True #填充颜色

    ,rounded = True #决策树边框圆形/方形

)

graph1 = graphviz.Source(tree_data.replace('helvetica','Microsoft YaHei UI'), encoding='utf-8')

graph1.render('./iris_tree')

Read more

标签:iris,标签,clf,导论,建模,右键,import,Task04,sklearn
From: https://blog.csdn.net/sk8Love956/article/details/140877975

相关文章

  • 《802.11无线网络权威指南-无线网络导论》-- 读书笔记1
    专业术语发射塔:celltower,指信号发射塔基站,接入点:accesspoint无线数据网络:wirelessdatanetwork基站:basestationauthorization:授权,认证serviceprovider:服务供应商hotspot:热点WAN:广域网络infraredlight:红外线频带:frequencyband带宽:bandwidth,即可供使用的频率......
  • 2024 年华数杯全国大学生数学建模竞赛 C 题 老外游中国 第一问代码
    请问352个城市中所有35200个景点评分的最高分(BestScore,简称BS)是 5.0importosimportpandasaspd#数据集所在的文件夹路径data_folder='附件'#初始最高评分设为一个较小的值,确保能找到比它更大的评分max_bs=float('-inf')#获取数据集文件夹中所有......
  • 【全网首发】2024华数杯数学建模ABC题选题分析+解题思路代码+成品论文更新
    建议选哪道题?A题特点:数理分析题目此题难度较大与国赛难度较为贴近B题特点B题以运筹学/网络科学,图论、优化问题为主,涉及到的概念多,对基础要求较高,不建议优先选择。常用MATLAB函数例如toposort(有向无环图的拓扑顺序)、isomorphism(计算两个图之间的同构)、centrality(衡量节点......
  • 数学建模-数据预处理(数据清洗、标准化)
    在数学建模的比赛中,数据分析类的题目中往往我们要面对大量的数据,在给出的数据中,如果数据缺失会影响到判断和后序的操作这里我们给出一个数据预处理的办法:数据清洗(DataClearning):涉及到检测和纠正数据中的错误、不完整、不准确或不适用的部分,以确保数据质量和可靠性。数据清洗......
  • Flask 快速搭建模板1
    快速搭建基础框架成品预览pip安装需要导入的基础包pipinstallflaskpipinstallflask-sqlalchemypipinstallflask-wtfpipinstallbootstrap-flaskpipinstallflask-loginpipinstallflask-moment创建目录结构typenul>main.pytypenul>config.pytyp......
  • Python面试题:结合Python技术,如何使用NetworkX进行复杂网络建模与分析
    NetworkX是一个用于创建、操作和研究复杂网络(图)的Python库。它提供了丰富的工具来构建、操纵和分析各种类型的图。下面是一个基本的示例,演示如何使用NetworkX进行复杂网络建模与分析。安装NetworkX首先,确保你已经安装了NetworkX。可以使用以下命令进行安装:pipinstallne......
  • 【MATLAB源码】数学建模基础教程---初步认识数学建模
    系列文章目录在最后面,各位同仁感兴趣可以看看!什么是数学建模含义1.区分数学模型和数学建模2.建立数学模型的注意事项3.数学建模流程图解4.数学建模模型分类5.论文常用套路6.最后:总结系列文章目录含义所谓数学建模,简言之,就是对研究对象进行系统的抽象和概化,进而形成数学......
  • 基于simulink的简易电机电力系统建模与仿真性能分析
    1.课题概述一个50HZ的简单电力系统如下图所示,在Simulink中建立仿真模型研究该系统的性能。         发电机G采用“SynchronousMachinepuFundamental”模型,变压器T采用“Three-PhaseTransformer(ThreeWindings)”模型,输出线路L采用“Three-PhaseSeriesRLCB......
  • 基于强化学习的倒立摆平衡车控制系统simulink建模与仿真
    1.算法仿真效果matlab2022a仿真结果如下(完整代码运行后无水印):      2.算法涉及理论知识概要       基于强化学习的倒立摆平衡车控制系统是一个典型的动态系统控制问题,它通过不断的学习和决策过程,使倒立摆维持在垂直平衡位置,即使受到外力干扰或系统内部噪......
  • 文心一言 VS 讯飞星火 VS chatgpt (316)-- 算法导论22.3 8题
    八、请给出如下猜想的一个反例:如果有向图G包含一条从结点u到结点v的路径,并且在对图G进行深度优先搜索时有u.d<v.d,则结点v是结点u在深度优先森林中的一个后代。如果要写代码,请用go语言。文心一言:为了提供一个反例,我们需要考虑深度优先搜索(DFS)的特性,并构造一个图,其中存在从......