大佬: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中右上角…打开可视化


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

被折叠的 条评论
为什么被折叠?



