现在学习一下机器学习的基础知识,为之后算法的学习做准备
下面直接放代码(均有相应的注释)
第一部分
#数据集的拆分和获取
#数据集的划分
#数据集接口
#数据集的划分
#拆分为两个部分--训练集(大部分),测试集(少部分)
#方式1--小规模的数据集
import sklearn.datasets as datasets
iris = datasets.load_iris() #一种花(返回的是字典)
#print(iris)
#从这个数据集中抽取特征数据和标签数据--直接索引
feature = iris['data'] #特征数据
target = iris['target'] #标签数据
s1 = feature.shape #注意别在shape后面加个(),否则会报错,因为元组不可调用
#print(s1) #一维数组
#方式2--大规模的数据集
b = datasets.fetch_20newsgroups(data_home=None,subset='all',shuffle=True) #一组新闻数据 后面的相关参数的意义为:储存位置,下载的内容,是否打乱顺序
#print(b)
#对iris数据集进行拆分
from sklearn.model_selection import train_test_split
res = train_test_split(feature,target,test_size=0.2,random_state=2020) #测试集对于总数居的占比,通过某种随机性将结果打乱再返回
#打乱的原因:在上面的代码中已经运行了原始的数据集,可以发现是有顺序的0->1->2,所以需要进行打乱以使结果更加准确
x_train,x_test,y_train,y_test = res #利用一一对应关系可以高效地获得结果
#可以验证一下比例是否正确
s3 = x_train.shape
print(s3)
#机器学习的算法分类和开发流程
#机器学习的数据类型:(1)离散型数据(无规律) (2)连续型数据(有一定规律)
#算法分类:见相关图片
#打个比方 :预测电影票房--回归问题 预测天气,人脸识别--分类问题
#开发流程:见相关图片
截至2021年4月,由于我只学习了微积分和线性代数,对于概率论几乎没有涉猎,故机器学习先告一段落,之后再继续学习。