记录从准研一假期自学PYTHON的全过程day42(鸢尾花数据集举例,sklearn估计器/算法)

128 阅读2分钟

暑假自学python的第42天

今天继续昨天的学习:

机器学习

sklearn数据集

针对sklearn进行数据集的训练:

将数据分为两种:一种为训练集,一种为测试集。

训练集:建立模型,用于训练

测试集:评估模型(回归,分类,聚类)

今天学习机器学习中的分类算法

机器学习中的分类算法

以最经典的鸢尾花数据集来举例子:

首先导入需要的包,这些数据集都是放在sklearn中进行使用的

from sklearn.datasets import load_iris, fetch_20newsgroups, load_boston
li= load_iris()
print("获取特征值")
print(type(li.data))
print('-' * 50)
print(li.data)

可以看到鸢尾花数据集中数据的特征值有四个:

image.png

想要看到对鸢尾花数据集的整体性描述,

print(li.target)
print('-' * 50)
print(li.DESCR)

使用describe方法(DESCR)

输出的结果如下:

image.png

对于鸢尾花数据集的分析:

print(li.feature_names)  # 重点
print('-' * 50)
print(li.target_names)

image.png

可以看到使用feature_names来获取特征值的名字。

对鸢尾花的数据集进行训练:

x_train, x_test, y_train, y_test = train_test_split(li.data, li.target, test_size=0.25, random_state=1)

训练集为train,x_train,y_train

测试集为test,x_test,y_test

test_size=0.25表示将全部的百分之75进行训练,则剩下的百分之25就为测试集。

注意这里的25%表示测试集

random_state=1保持每次训练得到的结果一样,一定要加上这句话。

print("训练集特征值和目标值:", x_train, y_train)
print("训练集特征值shape", x_train.shape)

print("测试集特征值和目标值:", x_test, y_test)
print("测试集特征值shape", x_test.shape)

输出的结果如下:

image.png

波士顿房价数据集:

lb = load_boston()

print("获取特征值")
print(lb.data[0])  #第一个样本特征值
print(lb.data.shape)
print('-' * 50)
print("目标值")
print(lb.target)
print('-' * 50)
print(lb.DESCR)
print('-' * 50)
print(lb.feature_names)
print('-' * 50)

输出的结果如下:

image.png

Sklearn机器学习估计器

在sklearn中,估计器是一个很重要的角色,分类器和估计器都属于estimator,是一类实现了算法的API

用于分类的估计器:

sklearn.neighbors k-临近算法

sklearn.naive_bayes 朴素贝叶斯

sklearn.tree 决策树与随机森林 等

用于回归的估计器:

线性回归/岭回归