第十三次作业——回归模型与房价预测

1. 导入boston房价数据集

2. 一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。

3. 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。

4.  一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。

代码:

#导入boston房价数据集
from sklearn.datasets import load_boston
import pandas as pd boston = load_boston()
df = pd.DataFrame(boston.data)  #一元线性回归模型,建立一个变量与房价之间的预测模型,并图形化显示。
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt x =boston.data[:,5]
y = boston.target
LinR = LinearRegression()
LinR.fit(x.reshape(-1,1),y)
w=LinR.coef_
b=LinR.intercept_
print(w,b) plt.scatter(x,y)
plt.plot(x,w*x+b,'orange')
plt.show() #多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏,并图形化显示检查结果。
x = boston.data[:,12].reshape(-1,1)
y = boston.target
plt.figure(figsize=(10,6))
plt.scatter(x,y) lineR = LinearRegression()
lineR.fit(x,y)
y_pred = lineR.predict(x)
plt.plot(x,y_pred,'r')
print(lineR.coef_,lineR.intercept_)
plt.show() #一元多项式回归模型,建立一个变量与房价之间的预测模型,并图形化显示。 from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree=3)
x_poly = poly.fit_transform(x)
print(x_poly)
lrp = LinearRegression()
lrp.fit(x_poly,y)
y_poly_pred = lrp.predict(x_poly)
plt.scatter(x,y)
plt.scatter(x,y_pred)
plt.scatter(x,y_poly_pred)
plt.show()

运行结果:

 第十一次作业——sklearn中朴素贝叶斯模型及其应用

1.使用朴素贝叶斯模型对iris数据集进行花分类

尝试使用3种不同类型的朴素贝叶斯:

高斯分布型

多项式型

伯努利型

2.使用sklearn.model_selection.cross_val_score(),对模型进行验证。

3. 垃圾邮件分类

数据准备:

  • 用csv读取邮件数据,分解出邮件类别及邮件内容。
  • 对邮件内容进行预处理:去掉长度小于3的词,去掉没有语义的词等

尝试使用nltk库:

pip install nltk

import nltk

nltk.download

不成功:就使用词频统计的处理方法

训练集和测试集数据划分

  • from sklearn.model_selection import train_test_split

代码:

# 导入鸢尾花数据集
from sklearn.datasets import load_iris # 数据选取
iris_data = load_iris()['data']
iris_target = load_iris()['target'] # 用高斯模型进行预测并评估
from sklearn.naive_bayes import GaussianNB
mol = GaussianNB()
result = mol.fit(iris_data,iris_target)
# 对模型进行评估
from sklearn.model_selection import cross_val_score
scores = cross_val_score(mol,iris_data,iris_target,cv=10)
# 对预测结果的正确个数进行计算
print("高斯模型:")
print("数据总数:",len(iris_data)," 错误个数:",(iris_target != predi).sum())
print("Accuracy:%.3f"%scores.mean()) # 用贝努里模型进行预测和评估
from sklearn.naive_bayes import BernoulliNB
bnb = BernoulliNB()
result2 = bnb.fit(iris_data,iris_target)
pred2 = bnb.predict(iris_data)
# 计算错误个数
print("贝努里模型:")
print("数据总数:",len(iris_data)," 错误个数:",(iris_target != pred2).sum())
#模型评分
scores2 = cross_val_score(bnb,iris_data,iris_target)
print("Accuracy:%.3f"%scores2.mean()) # 用多项式建立模型进行预测和评估
from sklearn.naive_bayes import MultinomialNB
mnb = MultinomialNB()
result3 = mnb.fit(iris_data,iris_target)
# 预测
pred3 = result3.predict(iris_data)
# 计算错误个数
print("多项式模型:")
print("数据总数:",iris_data.shape[0]," 错误个数:",(iris_target != pred3).sum())
# 模型评分
scores3 = cross_val_score(mnb,iris_data,iris_target)
print("Accuracy:%.3f"%scores3.mean())

运行结果:

第七次作业——numpy统计分布显示

用np.random.normal()产生一个正态分布的随机数组,并显示出来。

np.random.randn()产生一个正态分布的随机数组,并显示出来。

显示鸢尾花花瓣长度的正态分布图,曲线图,散点图。

代码:

import numpy as np

# 导入鸢尾花数据
from sklearn.datasets import load_iris
data = load_iris()
pental_len = data.data[:,2] # 计算鸢尾花花瓣长度最大值,平均值,中值,均方差
print("最大值:",np.max(pental_len))
print("平均值:",np.mean(pental_len))
print("中值:",np.median(pental_len))
print("均方差:",np.std(pental_len)) # 用np.random.normal()产生一个正态分布的随机数组,并显示出来
print(np.random.normal(1,4,50))
print('============================================================================') # np.random.randn()产生一个正态分布的随机数组,并显示出来
print(np.random.randn(50)) # 显示鸢尾花花瓣长度的正态分布图
import matplotlib.pyplot as plt
mu = np.mean(pental_len)
sigma = np.std(pental_len)
num = 10000
rand_data=np.random.normal(mu,sigma,num)
count,bins,ignored=plt.hist(rand_data,30,normed=True)
plt.plot(bins,1/(sigma*np.sqrt(2*np.pi))*np.exp(-(bins-mu)**2/(2*sigma**2)),linewidth=2,color="r")
plt.show() # 显示鸢尾花花瓣长度曲线图
plt.plot(np.linspace(1,160,num=150),pental_len,'g')
plt.show() # 显示鸢尾花花瓣长度散点图
plt.scatter(np.linspace(1,160,num=150),pental_len,alpha=1,marker='x')
plt.show()

运行结果:

第十三次作业——回归模型与房价预测&第十一次作业——sklearn中朴素贝叶斯模型及其应用&第七次作业——numpy统计分布显示的更多相关文章

  1. 一步步教你轻松学朴素贝叶斯模型算法Sklearn深度篇3

    一步步教你轻松学朴素贝叶斯深度篇3(白宁超   2018年9月4日14:18:14) 导读:朴素贝叶斯模型是机器学习常用的模型算法之一,其在文本分类方面简单易行,且取得不错的分类效果.所以很受欢迎,对 ...

  2. 机器学习Matlab打击垃圾邮件的分类————朴素贝叶斯模型

    该系列来自于我<人工智能>课程回顾总结,以及实验的一部分进行了总结学习机 垃圾分类是有监督的学习分类最经典的案例,本文首先回顾了概率论的基本知识.则以及朴素贝叶斯模型的思想.最后给出了垃圾 ...

  3. PGM:贝叶斯网表示之朴素贝叶斯模型naive Bayes

    http://blog.csdn.net/pipisorry/article/details/52469064 独立性质的利用 条件参数化和条件独立性假设被结合在一起,目的是对高维概率分布产生非常紧凑 ...

  4. 11.sklearn中的朴素贝叶斯模型及其应用

    #1.使用朴素贝叶斯模型对iris数据集进行花分类 #尝试使用3种不同类型的朴素贝叶斯: #高斯分布型,多项式型,伯努利型 from sklearn import datasets iris=data ...

  5. 统计学习1:朴素贝叶斯模型(Numpy实现)

    模型 生成模型介绍 我们定义样本空间为\(\mathcal{X} \subseteq \mathbb{R}^n\),输出空间为\(\mathcal{Y} = \{c_1, c_2, ..., c_K\ ...

  6. Python实现 利用朴素贝叶斯模型(NBC)进行问句意图分类

    目录 朴素贝叶斯分类(NBC) 程序简介 分类流程 字典(dict)构造:用于jieba分词和槽值替换 数据集构建 代码分析 另外:点击右下角魔法阵上的[显示目录],可以导航~~ 朴素贝叶斯分类(NB ...

  7. sklearn中的朴素贝叶斯模型及其应用

    1.(1)多项式 from sklearn.datasets import load_iris iris = load_iris() from sklearn.naive_bayes import G ...

  8. R 基于朴素贝叶斯模型实现手机垃圾短信过滤

    # 读取数数据, 查看数据结构 df_raw <- read.csv("sms_spam.csv", stringsAsFactors=F) str(df_raw) leng ...

  9. 后端程序员之路 18、朴素贝叶斯模型(Naive Bayesian Model,NBM)

    贝叶斯推断及其互联网应用(一):定理简介 - 阮一峰的网络日志http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.ht ...

随机推荐

  1. 【搭建】MongoDB在Linux环境的搭建

    环境:Linux CentOS6.5,mongo 4.1.6 一.下载安装 1.创建mongo的安装文件夹,以及安装包上传路径 mkdir /opt/module mkdir /opt/softwar ...

  2. thinkphp3.2升级至thinkphp5.0.24

    view文件 修改文件名 把tp3.2.3\app\module\view文件夹下所有文件夹拷贝至tp5\app\module\view 打开cmd命令窗口,cd至view文件夹下,执行dir /b ...

  3. node中间层实现文件上传

    一般情况下,前端的文件上传一般都是通过form表单的(<input type="file" />)来完成文件的上传,如果使用node中间层完成跨域,文件的上传就需要在n ...

  4. 【书】.NET及计算机类相关书籍,持续更新...

    一级目录 链接: https://pan.baidu.com/s/1y3osr3YCQ7XlM81RzkN1eQ 提取码: gs3r 二级目录 链接: https://pan.baidu.com/s/ ...

  5. 【转】RTP学习笔记

    转自:https://www.cnblogs.com/yoyotl/p/5650101.html 一.定义 实时传输协议(Real- time Transport Protocol,RTP)是在Int ...

  6. opencv使用总结

    在resize矩阵时出现报错 (-215) func != 0 in function cv::resize" 很可能是矩阵未设置为float,应该在读入后转换类型 item = item. ...

  7. Matlab -- Portfolio

    1.创建空 p = Portfolio; 2.需要了解 均值,方差,协方差实现 X为矩阵 均值 = mean(X): 中位数 = median(X): 方差 = var(X): 标准差 = std(X ...

  8. antd按需加载,配置babel-plugin-import插件,编译后报错.bezierEasingMixin()解决方案

    报错如下: ./node_modules/antd/lib/button/style/index.less (./node_modules/css-loader??ref--6-oneOf-7-1!. ...

  9. 第七届 蓝桥杯 方格填数 dfs

    如下的10个格子  填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能的填数方案? 请填写表示方案数目的整数. 注意:你提交的应该是一个整数,不要填写任何 ...

  10. 记一次Debug过程

    刚刚加入新公司,就迎来第一场战斗,微服务拉入拉出测试. 简单的说,对于接入eureka 和 vi(携程开源的) 应用,在使用发布系统进行发布的时候,会经过这么一个流程   UP —— STARTING ...