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

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. [Redis] - redis实战1

    rememberMe>>>>:null Creating a new SqlSession SqlSession [org.apache.ibatis.session.defa ...

  2. 详解Python的装饰器

    Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...

  3. selenium python 中浏览器操作

    1.启用浏览器 browser = webdriver.Chrome()               谷歌浏览器 browser = webdriver.Firefox()              ...

  4. 前端学习之CSS

    CSS介绍 CSS(Cascading Style Sheet, 层叠样式表)定义如何显示HTML元素, 给HTML设置样式, 让它更加美观. 当浏览器读到一个样式表, 它就会按照这个样式表来对文档进 ...

  5. 小程序之 swiper高度根据图片高度变化

    今天做的是这个效果⬇️  swiper的高度根据图片的高度而改变 wxml:<swiper indicator-dots="{{indicatorDots}}" vertic ...

  6. 使用JSR-303进行校验

    package com.ieou.comac.module.web.dto.employee; import lombok.Data; import javax.validation.constrai ...

  7. clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

    clientHeight:包括padding但不包括border.水平滚动条.margin的元素的高度.对于inline的元素这个属性一直是0,单位px,只读元素. offsetHeight:包括pa ...

  8. C#中添加对象到ArrayList的代码

    把开发过程中比较好的一些代码段做个备份,下面代码是关于C#中添加对象到ArrayList的代码. ArrayList alcollect = new ArrayList();string str = ...

  9. [数据结构] 2.2 Huffman树

    注:本文原创,转载请注明出处,本人保留对未注明出处行为的责任追究. 1.Huffman树是什么 Huffman树也称为哈夫曼编码,是一种编码方式,常用于协议的制定,以节省传输空间. A - F字母,出 ...

  10. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建列组合

    jQuery EasyUI 数据网格 - 创建列组合 easyui 的数据网格(DataGrid)可以创建列组合,如下所示: 在本实例中,我们使用平面数据来填充数据网格(DataGrid)的数据,并把 ...