Mosh Hamedani--Python笔记7(机器学习-决策树)

这篇博客是根据Mosh Hamedani的教程学习的Python机器学习笔记,主要涉及决策树的应用。内容包括数据导入、数据清洗、数据集划分、模型创建与训练、预测与评估。此外,还讲解了如何在Jupyter环境中操作数据,并用Scikit-learn实现决策树模型。最后,介绍了如何可视化决策树并进行模型保存与调用。

大佬:Mosh Hamedani 在这里插入图片描述
本笔记按照Mosh Hamedani教程视频学习,供自己学习使用,如有雷同,概不负责。

八、机器学习 Machine Learning

步骤:

1、导入数据 Import the Data
通常以csv文件形式出现
2、处理/清理数据 Clean the Data
清理、整理重复数据,保证数据的准确性,否则影响机器学习,干扰输出
3、划分数据集 Split the Data into Traning/Test Sets
将数据集划分成学习集和测试集,如80%用于学习,20%用于测试
4、建立模型 Create a Model
5、训练模型 Train the Model
6、预测 Make Predictions
7、评估改善 Evaluate and Improve
本部分分为四个部分:
Numpy Pandas Matplotlib Scikit-learn

Jupyter

导入数据
在这里插入图片描述
注:若没有放入同一路径下,则需要输入完整路径

数据整体信息
在这里插入图片描述
注:Jupyter无需重复定义,第一行import pandas后,后面可直接使用

快捷方式
在这里插入图片描述在这里插入图片描述
当这个框框为绿色时为编辑模式,
当这个框框为蓝色时为命令模式,按下esc键可变成蓝色
在蓝色框框时,按下"H”键,可出现快捷方式
在这里插入图片描述
ps: df. + tab可以快捷显示指令
df.describe + shift+ctrl 快速显示一些信息
ctrl + / 给一行注释,再按一次取消
在蓝色框框模式按两次D,可以删除此代码框
tab可以快速填充之前输入的变量名

A Real Problem

1、导入文件
在这里插入图片描述
2、分成两个状态集和结果集
在这里插入图片描述
3、学习及测试
在这里插入图片描述
4、测量模型精度
在这里插入图片描述

import pandas as pd
from sklearn.tree import DecisionTreeClassifier# 调出决策树
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

music_data = pd.read_csv("music.csv")
X = music_data.drop(columns=["genre"])#将genre一列移除
y = music_data["genre"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)

model = DecisionTreeClassifier()
model.fit(X_train,y_train)# 只需要训练两组数据
predictions = model.predict(X_test)

score = accuracy_score(y_test,predictions)
score

注:最后得出精度为1,但是多运行几次,精度会改变,且如果给测试数据集test_size越多的占比,测试精度会越低

5、设置成模块
在这里插入图片描述
注:保存在同一路径下

5、调用(批量使用)
在这里插入图片描述

import pandas as pd
from sklearn.tree import DecisionTreeClassifier# 调出决策树
from sklearn.externals import joblib

model = joblib.load("music-recommender.joblib")
predictions = model.predict([[21,1]])# 两个中括号
predictions

6、可视化决策树

import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree

music_data = pd.read_csv("music.csv")# 导入文件
X = music_data.drop(columns=['genre'])# 设定输入
y = music_data['genre']# 设定输出

model = DecisionTreeClassifier()# 建立模型
model.fit(X,y)# 训练学习模型

tree.export_graphviz(model,out_file='music-recommender.dot',
                    feature_names=['age','gender'],
                    class_names=sorted(y.unique()),
                    label = 'all',#每个节点标签可读
                    rounded = True,# 四舍五入
                    filled = True)# 每个框图或节点都有一个颜色

注:graphviz可视化流程图、决策树等
sorted 对所有可迭代的对象排序
以上代码可生成一个“music-recommender.dot"的文件,将此文件放入VScode中(anaconda可打开navigator直接安装VScode),安装两个插件在这里插入图片描述
注意作者名字
在VScode中右上角…打开可视化
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值