ML入门1
记录我看黑马三天入门ML的第一天,看完黑马,准备再去啃西瓜书!
一.数据集使用
先要安装sklearn相关的库,我pycharm配置的是anaconda的环境,所以直接在anaconda中配置了sklearn的库。sklearn包含的算法有:Classification(分类)、Regression(回归)、Clustering(聚类)、Dimensionality redution(降维)、Model selection(模型选择) 、Preprocessing(特征工程)
1.数据集的读取
加载获取小规模数据集,数据包含在datasets中。
sklearn.datasets.load_*();
获得大规模数据集,数据需要从网上下载,函数第一个参数是data_home,表示数据集下载目录,有默认值。
sklearn.datasets.fetch_*(data_home)
例:获取鸢尾花数据集(返回的是字典)
import sklearn
def dataset_demo():
from sklearn import datasets
#获取数据集
iris=sklearn.datasets.load_iris()
print("鸢尾花数据集:\n",iris)
print("查看数据集描述:\n",iris["DESCR"])
return None
dataset_demo()#返回的是字典
2.数据集的返回值
读取数据集以后可以详细观看。
load和fetch返回的数据类型是datasets.base.Bunch(字典格式)
(1)data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
(2)target:标签数组,是n_samples的一维numpy.ndarray数组
(3)DESCR:数据描述
(4)feature_names:特征名
(5)target_names:标签名
3.数据集的划分
训练数据:用于训练,构建模型
测试数据:模型检验,用于评估模型是否有效,占数据集20%~30%
数据的划分api
def train_test_split(*arrays,
test_size=None,
train_size=None,
random_state=None,
shuffle=True,
stratify=None):
"""Split arrays or matrices into random train and test subsets子集合
Quick utility that wraps input validation and
``next(ShuffleSplit().split(X, y))`` and application to input data
into a single call for splitting (and optionally subsampling) data in a
oneliner.
Read more in the :ref:`User Guide <cross_validation>`.
Parameters
----------