暑假自学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)
可以看到鸢尾花数据集中数据的特征值有四个:
想要看到对鸢尾花数据集的整体性描述,
print(li.target)
print('-' * 50)
print(li.DESCR)
使用describe方法(DESCR)
输出的结果如下:
对于鸢尾花数据集的分析:
print(li.feature_names) # 重点
print('-' * 50)
print(li.target_names)
可以看到使用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)
输出的结果如下:
波士顿房价数据集:
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)
输出的结果如下:
Sklearn机器学习估计器
在sklearn中,估计器是一个很重要的角色,分类器和估计器都属于estimator,是一类实现了算法的API
用于分类的估计器:
sklearn.neighbors k-临近算法
sklearn.naive_bayes 朴素贝叶斯
sklearn.tree 决策树与随机森林 等
用于回归的估计器:
线性回归/岭回归