数据类型
- 离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度
- 连续型数据:变量可以在某个范围内取任一数,即变量的取值可以是连续的,如长度、时间、质量值等,这类整数通常是非整数,含有小数部分
注意:离散型是区间内不可分,连续型是区间内可分
机器学习算法分类:
-
监督学习(预测)
- 分类:k近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
- 回归:线性回归、岭回归
-
无监督学习
-聚类:k-means
sklearn 介绍
Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。
作者:爱折腾的大懒猪
链接:https://www.jianshu.com/p/6ada34655862
来源:简书
sklearn安装
pip install scikit-learn
sklearn数据集
- 划分训练集和测试集
- sklearn数据集划分API
- sklearn.model_selection.train_test_split
- scikit-learn数据集API介绍
- sklearn.datasets
- 加载获取流行数据集
- datasets.load_*()
获取小规模数据集,数据包含在datasets里 - datasets.fetch_*(data_home=None)
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/
- datasets.load_*()
首先引入sklearn库
# 此处引入鸢尾花数据
from sklearn.datasets import load_iris
# 通过如下方法可以实例化数据
iris_data = load_iris()
获取数据集返回的类型
- load和fetch返回的数据类型datasets.base.Bunch(字典格式)
- data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
- target:标签数组,是n_samples的一维numpy.ndarray数组
- DESCR:数据描述
- feature_names:特征名,新闻数据,手写数字、回归数据集没有
- target_names:标签名
# 打印数据
print(iris_data.data)
# 打印标签数组
print(iris_data.target)
# 打印数据描述
print(iris_data.DESCR)
# 打印特征名
print(iris_data.feature_names)
# 打印标签名
print(iris_data.target_names)
数据集进行分割
- sklearn.model_selection.train_test_split(*array, *options)
- x 数据集的特征值
- Y 数据集的标签值
- test_size 测试集的大小,一般为float
- random_state 随机数种子,不同的种子会造成不同的随机采样结果,相同的种子采样结果相同
- return:训练集特征值,测试集特征值,训练标签,测试标签
# 引入数据分割
from sklearn.model_selection import train_test_split
# 将鸢尾花数据划分训练集和测试集
x_train, x_test, Y_train, Y_test \
= train_test_split(iris_data.data, iris_data.target, test_size=0.75)
注意:划分的时候,返回数据先是特征值,再是目标值