文章目录
一、线性回练习
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