线性回归练习————线性回归、Anscombe四重奏以及【SVM线性分类】鸢尾花Iris数据集分析

一、线性回练习

1. 一元线性回归练习

高尔顿数据集进行线性回归分析
父母身高平均值和其中一个子女身高进行回归分析

  1. 数据整理,一般获得的数据都会比较多,必须先分析整理数据,以下图为例。
    在这里插入图片描述
    每个家庭中父亲母亲身高肯定一定,所以不用去求平均值,针对每个家庭中子女性别的不同,我分为了两个表
    子表
    在这里插入图片描述

女表
在这里插入图片描述

2.因为这两个表中或多或少都会存在家庭编号重复的问题
所以分别对两个表的子女身高求平均值可得新表
在这里插入图片描述
对上述数据分析之后得出结果
在这里插入图片描述
父子身高线性表
在这里插入图片描述

在这里插入图片描述

母子身高线性表
在这里插入图片描述
在这里插入图片描述

二、四重奏数据集分析

2.1 表一
有图看出线性并不是很能够表现原始数据的一个变化趋势,所有该线性回归方程不成立。通过采用其他的回归曲线来测试,发现对于6次的多项式的回归方程来说,会比线性回归方程更好表现数据的变化趋势。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 表二
图中可以看出线性并不是很能够表现原始数据的一个变化趋势,所有该线性回归方程不成立。通过采用其他的回归曲线来测试,发现对于2次的多项式的回归方程来说,会比线性回归方程更好表现数据的变化趋势。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
2.3 表三
从图中可以看出线性基本能够表现原始数据的一个变化趋势,只存在极少的极端数据,所有该线性回归方程基本能够体现该数据集的一个变化情况。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.4 表四
从图中可以看出线性并不能表现原始数据的一个变化趋势,所有该线性回归方程不成立。可以发现数据基本上不能够用线性来描述,应该将数据自变量和因变量交换位置来进行分析,可能能够用回归数据进行分析。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三【SVM线性分类】鸢尾花Iris数据集实例

3.1.环境搭建

3.1.1 安装Anaconda+python3.7+Jupyter Notebook
3.1.2 创建虚拟环境
运行Anaconda创建虚拟环境XXX,安装自己所需要的工具
在这里插入图片描述
在这里插入图片描述
3.1.3 也可以使用命令行创建
在这里插入图片描述

conda create -n sklearn python=3.7
tf1是自己为创建虚拟环境取的名字,后面python的版本可以根据自己需求进行选择。

至于安装包

pip install 包名 直接这样安装可以由于网络的原因,安装失败或者安装很慢 解决方式:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple包名此处安装的包包括numpy、pandas、sklearn、matplotlib

2 SVM(支持向量机)

3.2.1 SVM简介

Svm(support Vector Mac)又称为支持向量机,是一种二分类的模型。支持向量机可以分为线性和非线性两大类。其主要思想是找到空间中的一个更够将所有数据样本划开的直线(平面或者超平面),并且使得数据集中所有数据到这个超平面的距离最短。

3.2.2 鸢尾花数据集使用SVM线性分类
LinearSVC(Linear Support Vector Classification)线性支持向量机,核函数是 linear
相关参数说明:

  • C:目标函数的惩罚系数C,默认C=10;
  • loss:指定损失函数. squared_hinge(默认), squared_hinge;
  • penalty : 惩罚方式,str类型,l1, l2;
  • dual :选择算法来解决对偶或原始优化问题。当nsamples>nfeatures时dual=false;
  • tol :svm结束标准的精度, 默认是 1e - 3;
  • multi_class:如果y输出类别包含多类,用来确定多类策略, ovr表示一对多,“crammer_singer”优化所有类别的一个共同的目标 。如果选择“crammer_singer”,损失、惩罚和优化将会被被忽略。;
  • max_iter : 要运行的最大迭代次数。int,默认1000。

3.3 源码

导入包

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC

获取数据

iris=datasets.load_iris()

X=iris.data

Y=iris.target

数据处理

X=X[:,:2]
Y1=Y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值