机器学习

1138-魏同学

发表文章数:75

热门标签

首页 » 算法 » 正文

机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。
数据集的构成(文件)
特征值+目标值
MySQL瓶颈(不适用机器学习的原因):1.性能瓶颈,读取速度慢。2.格式不太符合

特征工程
特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性。
数据的特征抽取:对文本等数据进行特征值化
sklearn特征抽取的API:sklearn.feature_extraction
字典数据抽取:把字典中一些类别数据,分别进行转换
成特征
TF-IDF:如果某个词或短语在一篇文章中出现的概率高,并且在其他文中很少出现,则认为此词或短语具有很好的类别区分能力,适合用来分类
TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
数组形式,有类别的这些特征先要转换字典数据

数据的特征预处理
通过特定的统计方法(数学方法)将数据转换成算法要求的数据
数值型数据:标准缩放:
1.归一化
2.标准化
类别型数据:one-hot编码
时间类型:时间的切分
Sklearn特征处理API:sklearn.preprocessing
sklearn归一化API:sklearn.preprocessing.MinMaxScaler
MinMaxScaler(feature_range=(0,1)…):每个特征缩放到给定范围
归一化:通过对原始数据进行变换把数据映射到[0,1]之间x1 = (x-min)/(max-min)
标准化:通过对原始数据进行变换把数据变换到均值为0,方差为1范围内。
缺失值处理:
删除:如果每列或者行数据缺失值达到一定的比例,可以放弃
插补:可以通过缺失值每行或者每列的平均值,中位数来填充
sklearn缺失值API:sklearn.preprocessing.imputer
数据的降维
1.特征的选择
2.主成分分析
特征选择的原因
冗余:部分特征的相关度高,容易消耗计算机性能
噪声:部分特征对预测结果有影响
特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值,也可以不改变值,但是选择后的特征维数肯定比选择前要小。
主要方法:Filter(过滤式):VarianceThreshold、Embedded(嵌入式):正则化、决策树;Wrapped(包裹式)、神经网络
sklearn特征选择API:sklearn.feature_selection.VarianceThreshold:删除低方差的特征

sklearn主成分分析
PCA:PCA是一种分析、简化数据集的技术
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量。
高维数据简化成一维

特征选择与主成分分析的比较?
维度大用主成分分析

数据类型:
离散型数据:由记录着不同类别个体的数目所得到的数据,称为计数数据,所有这些数据全部都是整数,而且不能再细分,也不能进一步提高他们的精确度。
连续性数据:变量可以再某个范围内取任一数,即变量的取值可以是连续的,如长度、时间、质量值等,这一类数据通常是非整数,含有小数部分。

数据类型的不同对应不同的机器学习算法
**监督学习(预测)**有特征值、目标值
分类 K-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络
回归 线性回归、岭回归
无监督学习:只有特征值
聚类 K-Means

分类:目标值离散型数据
回归:目标值连续型数据

机器学习开发流程:
根据数据类型划分应用种类,建立模型
1、明确原始数据做什么
2、数据的基本处理(缺失值、合并表等)
3、特征工程(对特征进行处理)
4、找到合适的算法进行预测
5、模型评估
模型:算法+数据

scikit-learn数据集API介绍
sklearn.datasets
加载获取流行数据集
datasets.load_()
获取小规模数据集,数据包含在datasets里
datasets.fetch_
(data_home = None)
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn——data/
机器学习
数据集进行分割
sklearn.model_selection.train_test_split(*arrays,**options)
x:数据集的特征值
y:数据集的标签值
test_size:测试集的大小,一般为float
random_state:随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同
return:训练集特征值,测试集特征值,训练标签,测试标签(默认随机取)
机器学习
机器学习
转换器与预估器
转换器:实现特征工程的API
fit_transform():输入数据直接转换
fit():输入数据,但不转换
transform():进行数据转换
机器学习
机器学习

from sklearn.model_selection import GridSearchCV
parm = {"n_neighbors":[3,5,10]}
gc = GridSearchCV(knn,param_grid=param,cv = 10)
gc.fit(x_train,y_train)
print("测试集准确率:",gc.score(x_test,y_test))
print("交叉验证中最好的结果",gc.best_score_)
print("最好的模型",gc.best_estimator_)
print("每个超参数每次交叉验证的结果",gc.cv_results_)

标签:

未经允许不得转载:作者:1138-魏同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《机器学习》 发布于2020-09-14

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录