由西瓜的密度、含糖量推断西瓜的成熟度(0代表生,1代表熟)。

  1. 编程实现多变量线性回归,给出在西瓜数据集(见表1)上的结果(即 模型参数)。
  2. 在判断西瓜成熟度这个问题上,请解释密度跟含糖量哪个指标更重要
    要求:提交代码(Python),请包含相关语句注释,以及执行结果截图。
  3. 编程实现多变量回归,给出在西瓜数据集(表1)上的结果(模型参数)。
    假如我们想通过色泽、根蒂和敲击声来判断一下西瓜的成熟度。学习任务变为多变量回归。将不同的指标量化得到上述数据集,过程如下图

    因此可以对此数值化后的数据集进行线性回归:


因此直接根据公式计算的代码如下:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
xlname=r"C:\Users\34780\Desktop\大二下\机器学习\作业\实验一\西瓜数据
集.xlsx"
data=pd.read_excel(xlname,sheet_name="Sheet1")
data=np.array(data)
data_y=data[:,3]
data_x=np.hstack((data[:,1:3],np.ones((data.shape[0],1))))
w=np.matmul(np.matmul(np.linalg.pinv(np.matmul(np.transpose(data_x),dat
a_x)),np.transpose(data_x),data_y)  #核心公式的代码表示
x=data[:,1]   #特征一
y=data[:,2]   #特征二
z=data[:,3]   #成熟度
zz=w[0]*x+w[1]*y+w[2] #拟合的线性模型
fig = plt.figure()
ax = Axes3D(fig)ax.scatter(x, y, z,'blue')
ax.scatter(x,y,zz,'red')
ax.set_zlabel('Z',fontdict={'size': 15, 'color': 'red'})
ax.set_ylabel('Y',fontdict={'size': 15, 'color': 'red'})
ax.set_xlabel('X',fontdict={'size': 15, 'color': 'red'})
plt.show()

当然,如果直接调用sklearn库的库函数,代码如下

from sklearn.linear_model import LinearRegression as lr
reg=lr().fit(data_x,data_y)
score=reg.score(data_x,data_y)

得到的结果如下,
其得分score=0.5709708011721539

  1. 在判断西瓜成熟度这个问题上,请解释密度跟含糖量哪个指标更重要
    由计算结果可知,西瓜密度,含糖量的权重分别为0.656,0.66即含糖量的权重是大于密度的,因此在西瓜成熟度这个问题上,含糖量更重要。

线性回归 西瓜数据集 Python--sklearn相关推荐

  1. Python实现Logistc回归分类(西瓜数据集、鸢尾花数据集)详解

    文章目录 Logistic回归原理讲解 逻辑回归的损失函数 梯度下降 代码实现 西瓜数据集 全代码 鸢尾花(Iris)数据集 LogisticModel 全代码 主函数实现 全代码 Logistic回 ...

  2. 【Python】实训6:基于wine和wine_quality数据集练习sklearn构建模型方法(预处理、聚类、分类、回归)

    题目来源: <Python数据分析与应用>第6章 使用 scikit-learn 构建模型 实训部分 [ 黄红梅.张良均主编 中国工信出版集团和人民邮电出版社] 本博客题目文字主要来自: ...

  3. Python+sklearn使用线性回归算法预测儿童身高

    问题描述:一个人的身高除了随年龄变大而增长之外,在一定程度上还受到遗传和饮食以及其他因素的影响,本文代码中假定受年龄.性别.父母身高.祖父母身高和外祖父母身高共同影响,并假定大致符合线性关系. imp ...

  4. [Python+sklearn] 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split()

    Python - sklearn 拆分数据集为训练和测试子集 sklearn.model_selection.train_test_split() 功能: 将数组或矩阵拆分为随机的训练子集和测试子集 ...

  5. 在西瓜数据集上用Python实现ID3决策树算法完整代码

    在西瓜数据集上用Python实现ID3决策树算法完整代码 文章目录 1.决策树算法代码ID3.py 2.可视化决策树代码visual_decision_tree.py 3.贴几张运行结果图 1.生成的 ...

  6. python 线性回归_用Python实现线性回归算法

    前几天我们介绍了线性回归模型的原理,今天我们主要来看如何用Python代码将线性回归写出来. 首先,打开我们的jupyter notebook,把常用的一些包都加载上吧: import numpy a ...

  7. 朴素贝叶斯(西瓜数据集分类,社区恶意留言分类,垃圾邮件分类,新浪新闻分类),AODE分类器 代码实现

    朴素贝叶斯(西瓜数据集分类,社区恶意留言分类,垃圾邮件分类,新浪新闻分类),AODE分类器 代码实现 以下代码为本人学习后,修改或补充后的代码实现,数据集和原代码请参考:https://github. ...

  8. 线性回归原理与python实现

    机器学习 第一章:机器学习基础 第二章:线性回归 第三章:逻辑回归 第四章:BP 神经网络 第五章:卷积神经网络 第六章:循环神经网络 第七章:决策树与随机森林 第八章:支持向量机 第九章:隐马尔科夫 ...

  9. Python: sklearn库——数据预处理

    Python: sklearn库 -- 数据预处理 数据集转换之预处理数据:       将输入的数据转化成机器学习算法可以使用的数据.包含特征提取和标准化.       原因:数据集的标准化(服从均 ...

  10. 08_sklearn数据集,数据集划分train_test_split,sklearn.datasets及其api,sklearn分类数据集,sklearn回归数据集,转换器与预估器

    1.sklearn数据集 1.1 数据集划分 机器学习一般的数据集会划分为两个部分 训练数据:用于训练,构建模型 测试数据:在模型检验时使用,用来评估模型是否有效 1.1.1 sklearn数据集划分 ...

最新文章

  1. 详解Jedis连接池报错处理
  2. linux 下查看log实时输出
  3. FedML联邦机器学习框架正式开源,助力算法开发和性能比较
  4. java 重置定时器_可重置Java定时器
  5. 冒泡排序法 - python版详解
  6. Mybatis解析(面试题)
  7. stm32c语言long型数据多少位,stm32 C语言的数据类型说明
  8. sql limit offset 的用法 但在SqlServer中用不了
  9. Windows查询端口的进程
  10. python数据导入spss_spss-数据抽取-拆分与合并
  11. 笔记本电脑插入HDMI外接显示器没有声音问题
  12. 一个程序员是如何蜕变为投资人的?
  13. c语言 原子 字符串,Atomic operations library(原子操作库)
  14. Linux的.a、.so和.o文件
  15. iOS 图标icon尺寸大全
  16. 美貌智慧不可兼得?超模琳赛 斯科特变身程序员
  17. 重庆大学计算机专业排名全国多少名,重庆大学成功晋级中国高校计算机大赛团体程序设计天梯赛全国总决赛...
  18. java 显示另一个窗口_java界面从一个界面跳到另一个界面的时候多出了一个小窗口...
  19. js特效------实例
  20. 微营销好标题之金玉良言(微营销标题吸引粉丝篇-4)

热门文章

  1. uac2+android,iBasso UAC
  2. 清理服务器挖矿木马病毒
  3. linux安装微信 安装百度网盘 下载大文件
  4. 使用阿帕奇服务器配置多个网站站点的方法
  5. 银保监会发函!股份制银行助贷、联合贷业务红线划定!
  6. Fujitsu DPK8310Tax 打印机驱动
  7. oracle打cve补丁,Oracle多个产品高危漏洞补丁安全预警
  8. xp 安装程序在计算机中识别出下列大容量存储设备,大容量存储控制器驱动程序安装步骤[图形]...
  9. FFmpeg 视频裁剪
  10. 计算机设备自动关机,终于发现电脑自动关机的原因及解决方法