数据集划分:
机器学习一般的数据集会划分为两个部分:
训练数据:用于训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效
训练集:70% 测试集: 30% 训练集:80% 测试集:20% 训练集:75% 测试集: 25%
一般大多数用的占比是 :训练集:75% 测试集: 25%
scikit-learn 数据集API介绍:
sklearn.datasets:
加载获取流行数据集
datasets.load_*():
获取小规模数据集,数据包含在datasets里
datasets.fetch_*(data_home=None):
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/
获取数据集返回的类型:
load*和fetch*返回的数据类型datasets.base.Bunch(字典格式)
data: 特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
target: 标签数组,是n_samples的一维numpy.ndarray数组
DESCR: 数据描述
feature_names: 特征名 新闻数据,手写数字、回归数据集没有
target_names: 标签名
sklearn数据集划分API:
sklearn.model_selection.train_test_split
def test_datasets()
"""
数据集进行分割:
sklearn.model_selection.train_test_split(*arrays,**options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为float
random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同
return 训练集特征值,测试集特征值,训练标签,测试标签(默认随机取)
"""
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
li = load_iris()
print("获取特征值")
print(li.data)
print("目标值")
print(li.target)
print("数据描述")
print(li.DESCR)
# 注意返回值, 训练集 train x_train, y_train 测试集 test x_test y_test
x_train,x_test,y_train,y_test=train_test_split(li.data,li.target,test_size=0.25)
print("训练集特征值和目标值:",x_train,y_train)
print("测试集特征值和目标值:",x_test,y_test)
"""
用于分类的大数据集
sklearn.datasets.fetch_20newsgroups(data_home=None,subset='train')
subset: 'train' 或者 'test','all', 可选, 选择要加载的数据集。训练集的“训练”,测试集的“测试”,两者的“全部”
datasets.clear_data_home(data_home=None)
清除目标下的数据
"""
# 获取新闻数据集
from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset='all')
print(news.data)
print(news.target)
sklearn.datasets.load_iris()
加载并返回鸢尾花数据集
"""
scikit-learn 数据集API介绍:
sklearn.datasets:
加载获取流行数据集
datasets.load_*():
获取小规模数据集,数据包含在datasets里
datasets.fetch_*(data_home=None):
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/
获取数据集返回的类型:
load*和fetch*返回的数据类型datasets.base.Bunch(字典格式)
data: 特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
target: 标签数组,是n_samples的一维numpy.ndarray数组
DESCR: 数据描述
feature_names: 特征名 新闻数据,手写数字、回归数据集没有
target_names: 标签名
Returns:None
"""
from sklearn.datasets import load_iris
li = load_iris()
print("获取特征值")
print(li.data)
print("目标值")
print(li.target)
print("数据描述")
print(li.DESCR)
sklearn.datasets.load_digits()
加载并返回数字数据集
sklearn.datasets.load_boston()
加载并返回波士顿房价数据集
"""
获取波士顿数据集
"""
from sklearn.datasets import load_boston
lb = load_boston()
print(lb.data)
print(lb.target)
print(lb.DESCR)
sklearn.datasets.load_diabetes()
加载和返回糖尿病数据集
在sklearn中,估计器(estimator)是一个重要的角色,是一类实现了算法的API
1、用于分类的估计器:
2、用于回归的估计器:
注:只要记住一点,离散型是区间内不可分,连续型是区间内可分
监督学习(英语: Supervised learning),可以由输入数据中学到或建立-一个模型,并依此模式推测新的结果。输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称作分类)。
无监督学习( 英语: unSupervised learning),可以由输入数据中学到或建立-一个模型,并依此模式推测新的结果。输入数据是由输入特征值所组成。
概念:分类是监督学习的一个核心问题,在监督学习中,当输出变量取有限个离散值时,预测问题变成为分类问题。最基础的便是二分类问题,即判断是非,从两个类别中选择一个作为预测结果;