资源简介

代码片段和文件信息
# coding: utf-8
# In[1]:
#-*- coding:utf-8 -*-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
get_ipython().run_line_magic(‘matplotlib‘ ‘inline‘)
diabetes=pd.read_csv(r‘C:\Users\Administrator\Desktop\diabetes\Machine-Learning-with-Python-master\diabetes.csv‘)
print(diabetes.columns)
# In[2]:
diabetes.head()
# In[3]:
#“结果”是我们将要预测的特征,0意味着未患糖尿病,1意味着患有糖尿病。在768个数据点中,500个被标记为0268个标记为1。
print(diabetes.groupby(‘Outcome‘).size())
# In[4]:
#显示数据的维度
print(“dimennsion of diabetes data:{}“.format(diabetes.shape))
# In[5]:
import seaborn as sns
sns.countplot(diabetes[‘Outcome‘]label=“Count“)
# In[7]:
diabetes.info()
# In[70]:
#首先用knn研究一下是否能够确认模型的复杂度和精确度之间的关系
from sklearn.model_selection import train_test_split
x_trainx_testy_trainy_test=train_test_split(diabetes.loc[:diabetes.columns !=‘Outcome‘]diabetes[‘Outcome‘]stratify=diabetes[‘Outcome‘]random_state=66)
from sklearn.neighbors import KNeighborsClassifier
training_accuracy=[]
test_accuracy=[]
#try n_neighbors from 1 to 10
neighbors_settings=range(111)
for n_neighbors in neighbors_settings:
#build the model
knn=KNeighborsClassifier(n_neighbors=n_neighbors)
knn.fit(x_trainy_train)
#record training set accuracy
training_accuracy.append(knn.score(x_trainy_train))
#record test set accuracy
test_accuracy.append(knn.score(x_testy_test))
plt.plot(neighbors_settingstraining_accuracylabel=“training accuracy“)
plt.plot(neighbors_settingstest_accuracylabel=“test accuracy“)
plt.ylabel(“Accuracy“)
plt.xlabel(“n_neighbors“)
plt.legend()
plt.savefig(‘knn_compare_model‘)
# In[73]:
#逻辑回归算法
#正则化参数C=1(默认值)的模型在训练集上准确度为78%,在测试集上准确度为77%。
from sklearn. linear_model import LogisticRegression
logreg=LogisticRegression(). fit(x_trainy_train)
print(“Training set score:{:.3f}“. format(logreg. score(x_train y_train)))#精确到小数点后三位
print(“Test set score:{:.3f}“. format(logreg. score(x_testy_test)))
# In[74]:
#而将正则化参数C设置为100时,模型在训练集上准确度稍有提高但测试集上准确度略降,
#说明较少正则化和更复杂的模型并不一定会比默认参数模型的预测效果更好。
#所以我们选择默认值C=1
logreg100=LogisticRegression(C=100). fit(x_trainy_train)
print(“Training set accuracy:{:.3f}“. format(logreg100. score(x_trainy_train)))
print(“Test set accuracy:{:.3f}“. format(logreg100. score(x_test y_test)))
# In[77]:
#用可视化的方式来看一下用三种不同正则化参数C所得模型的系数。
#更强的正则化(C = 0.001)会使系数越来越接近于零。仔细地看图,
#我们还能发现特征“DiabetesPedigreeFunction”(糖尿病遗传函数)在 C=100 C=1 和C=0.001的情况下 系数都为正。
#这表明无论是哪个模型,DiabetesPedigreeFunction(糖尿病遗传函数)这个特征值都与样本为糖尿病是正相关的。
diabetes_features=[x for ix in enumerate(diabetes. columns) if i!=8]
plt. figure(figsize=(86))
plt. plot(logreg. coef_.T‘o‘ label=“C=1“)
plt. plot(logreg100.coef_.T‘^‘ label=“C=100“)
plt. plot(logreg100.coef_.T‘v‘ label=“C=0.001“)
plt. xticks(range(diabetes. shape[1]) diabetes_features rotation=90)
plt. hlines(00 diabetes. shape[1])
plt. ylim(-55)
plt. xlabel(“Feature“)
plt. ylabel(“Coefficient magnitude“)
plt. legend()
plt. savefig(‘1og_coef‘)
# In[71]:
#决策树算法
from sklearn.tree import
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 137092 2018-07-24 15:30 DiabetesArithmetic_version3.0\DiabetesArithmetic_version3.0.ipynb
文件 12481 2018-07-24 15:30 DiabetesArithmetic_version3.0\DiabetesArithmetic_version3.0.py
文件 23875 2018-07-21 16:01 DiabetesArithmetic_version3.0\diabetes.csv
目录 0 2018-07-24 15:32 DiabetesArithmetic_version3.0\
- 上一篇:win10 可用超级终端安装版
- 下一篇:opencat所有资料.zip
相关资源
- 随机森林R语言代码
- ppt 机器学习.ppt
- 随机森林算法 R 语言
- Logistic回归总结非常好的机器学习总结
- Convex Analysis and Optimization (Bertsekas
- 机器学习个人笔记完整版v5.2-A4打印版
- JUNIOR:粒子物理学中无监督机器学习
- 语料库.zip
- 中国科学技术大学 研究生课程 机器学
- 遗传算法越野小车unity5.5
- 吴恩达机器学习编程题
- shape_predictor_68_face_landmarks.dat.bz2 68个标
- 机器学习实战高清pdf,中文版+英文版
- 李宏毅-机器学习(视频2017完整)
- 机器学习深度学习 PPT
- 麻省理工:深度学习介绍PPT-1
- Wikipedia机器学习迷你电子书之四《D
- Learning From Data Yaser S. Abu-Mostafa
- 北大林宙辰:机器学习一阶算法的优
- 李宏毅深度学习ppt
- 机器学习方法R实现-用决策树、神经网
- 数字金融反欺诈白皮书
- 机器学习班PPT原件全邹博
- 机器学习实战(源码和数据样本)
- 计算广告含有目录 刘鹏版
- 数据挖掘导论完整版PPT及课后习题答
- kaggle信用卡欺诈数据
- 机器学习技法原始讲义和课程笔记
- 机器学习数学 陈希孺《 概率论与数理
- 概率论与数理统计陈希孺
评论
共有 条评论