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

网站建设主动型电话销售话术整站优化方案

网站建设主动型电话销售话术,整站优化方案,java cms建站,怎么做网站投放广告【阿旭机器学习实战】系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流。 【阿旭机器学习实战】【36】糖尿病预测—决策树建模及其可视化 目录【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化1. 导入数据并…

【阿旭机器学习实战】系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流。

【阿旭机器学习实战】【36】糖尿病预测—决策树建模及其可视化

目录

  • 【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化
  • 1. 导入数据并查看数据
  • 2. 训练决策树模型及其可视化
    • 2.1 决策树模型
    • 2.2 可视化训练好的决策树模型
    • 2.2 使用随机森林模型

1. 导入数据并查看数据

关注GZH:阿旭算法与机器学习,回复:“ML36”即可获取本文数据集、源码与项目文档

# 导入数据包
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split 
from sklearn import metrics 
import matplotlib.pyplot as plt
import matplotlib as matplot
import seaborn as sns
%matplotlib inline
col_names = ['pregnant', 'glucose', 'bp', 'skin', 'insulin', 'bmi', 'pedigree', 'age', 'label']
df = pd.read_csv("pima-indians-diabetes.csv", header=None, names=col_names)
df.head()
pregnantglucosebpskininsulinbmipedigreeagelabel
061487235033.60.627501
11856629026.60.351310
28183640023.30.672321
318966239428.10.167210
40137403516843.12.288331
# 相关性矩阵
corr = df.iloc[:,:-1].corr()
#corr = (corr)
sns.heatmap(corr, xticklabels=corr.columns.values,yticklabels=corr.columns.values)corr
pregnantglucosebpskininsulinbmipedigreeage
pregnant1.0000000.1294590.141282-0.081672-0.0735350.017683-0.0335230.544341
glucose0.1294591.0000000.1525900.0573280.3313570.2210710.1373370.263514
bp0.1412820.1525901.0000000.2073710.0889330.2818050.0412650.239528
skin-0.0816720.0573280.2073711.0000000.4367830.3925730.183928-0.113970
insulin-0.0735350.3313570.0889330.4367831.0000000.1978590.185071-0.042163
bmi0.0176830.2210710.2818050.3925730.1978591.0000000.1406470.036242
pedigree-0.0335230.1373370.0412650.1839280.1850710.1406471.0000000.033561
age0.5443410.2635140.239528-0.113970-0.0421630.0362420.0335611.000000

请添加图片描述

2. 训练决策树模型及其可视化

# 选择预测所需的特征
feature_cols = ['pregnant', 'insulin', 'bmi', 'age','glucose','bp','pedigree']
X = pima[feature_cols] # 特征
y = pima.label # 类别标签
# 将数据分为训练和测试数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1) # 70% training and 30% test

2.1 决策树模型

# 创建决策树分类器
clf = DecisionTreeClassifier(criterion='entropy')# 训练模型
clf = clf.fit(X_train,y_train)# 使用训练好的模型做预测
y_pred = clf.predict(X_test)
# 模型的准确性
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Accuracy: 0.7489177489177489

2.2 可视化训练好的决策树模型

注意: 需要使用如下命令安装额外两个包用于画决策树的图
conda install python-graphviz
conda install pydotplus

from sklearn.tree import export_graphviz
from six import StringIO 
from IPython.display import Image  
import pydotplus
from sklearn import treedot_data = StringIO()
export_graphviz(clf, out_file=dot_data,  filled=True, rounded=True,special_characters=True,feature_names = feature_cols,class_names=['0','1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
graph.write_png('diabetes.png')
Image(graph.create_png())

请添加图片描述

# 创建新的决策树, 限定树的最大深度, 减少过拟合
clf = tree.DecisionTreeClassifier(criterion='entropy',max_depth=4, # 定义树的深度, 可以用来防止过拟合min_weight_fraction_leaf=0.01 # 定义叶子节点最少需要包含多少个样本(使用百分比表达), 防止过拟合)# 训练模型
clf.fit(X_train,y_train)# 预测
y_pred = clf.predict(X_test)# 模型的性能
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Accuracy: 0.7705627705627706
from six import StringIO  
from IPython.display import Image  
from sklearn.tree import export_graphviz
import pydotplus
dot_data = StringIO()
export_graphviz(clf, out_file=dot_data,  filled=True, rounded=True,special_characters=True, feature_names = feature_cols,class_names=['0','1'])
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())  
graph.write_png('diabetes2.png')
Image(graph.create_png())

请添加图片描述

2.2 使用随机森林模型

from sklearn.ensemble import RandomForestClassifier# 随机森林, 通过调整参数来获取更好的结果
rf = RandomForestClassifier(criterion='entropy',n_estimators=1, max_depth=5, # 定义树的深度, 可以用来防止过拟合min_samples_split=10, # 定义至少多少个样本的情况下才继续分叉#min_weight_fraction_leaf=0.02 # 定义叶子节点最少需要包含多少个样本(使用百分比表达), 防止过拟合)# 训练模型
rf.fit(X_train, y_train)# 做预测
y_pred = rf.predict(X_test)# 模型的准确率
print("Accuracy:",metrics.accuracy_score(y_test, y_pred))
Accuracy: 0.7402597402597403

如果文章对你有帮助,感谢点赞+关注!

关注下方GZH:阿旭算法与机器学习,回复:“ML36”即可获取本文数据集、源码与项目文档,欢迎共同学习交流

http://www.fp688.cn/news/160914.html

相关文章:

  • 新中建设公司招聘网站提交百度一下
  • 春播网站是谁做的google play
  • 陕西专业网站开发公司网络营销和电子商务区别
  • 访问数据库的网站开发语言站长工具忘忧草
  • 合肥做网站的公司深圳最好seo
  • wordpress上传视频大小seo学堂
  • 中国建设银行网站打不开东莞网络推广营销公司
  • wordpress导航栏修改太原seo
  • 地下城钓鱼网站如何做宣传推广图片
  • 米拓建站官网怎么用不了今日关注
  • 专业网站推广服务咨询域名注册管理机构
  • 当当网的网站怎么做的电脑优化大师哪个好
  • 石狮制作网站怎么seo网站关键词优化
  • 用html制作网站代码竞价托管外包哪家好
  • 做马甲的网站360优化大师app下载
  • 外国网站在中国做推广百度竞价系统
  • 做网站是比特币的兰州seo实战优化
  • 二级建造师最好的网站如何自己制作一个网站
  • 做网站推广挣多少钱企业seo的措施有哪些
  • 专业的网站开发公司找营销推广团队
  • wordpress漏洞 2014西安seo代理
  • 惠州响应式网站建设商业软文
  • 东台网站建设百度搜索引擎排名规则
  • 网站删除期查询seo资料站
  • 民宿网站开发方案百度推广投诉电话
  • 贵阳网站制作cncolour如何做企业网页
  • 上海网站建设内容更新百度搜索什么关键词能搜到网站
  • 国外做饮料视频网站怎么创建网址
  • 做流量网站seo服务如何收费
  • 汕头做网站公司哪家好seo投放营销