机器学习算法基础第一天

1043-李同学

发表文章数:31

热门标签

,
首页 » 算法 » 正文

一.机器学习的定义
机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测

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

三.特征工程
特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性。
意义:直接影响模型的预测结果

四.字典特征抽取
作用:对字典数据进行特征值化
类:sklearn.feature_extraction.DictVectorizer
机器学习算法基础第一天
输出结果:
机器学习算法基础第一天
DictVectorizer语法:
DictVectorizer.fit_transform(X),X:字典或者包含字典的迭代器,返回值:返回sparse矩阵。
DictVectorizer.inverse_transform(X),X:array数组或者sparse矩阵,返回值:转换之前数据格式。
DictVectorizer.get_feature_names(),返回类别名称。
DictVectorizer.transform(X),按照原先的标准转换。

五.文本特征抽取以及中文问题
作用:对文本数据进行特征值化
英文文本提取:
机器学习算法基础第一天
输出结果:
机器学习算法基础第一天
统计规则:
①.统计所有文章当中的所有词,重复的单词只看做一次。
②对每篇文章,在词的列表里进行统计每个词出现的次数。
③.单个字母不统计

CountVectorizer语法:
CountVectorizer(max_df=1.0,min_df=1,…),返回词频矩阵。
CountVectorizer.fit_transform(X,y),X:文本或者包含文本字符串的可迭代对象,返回值:返回sparse矩阵。
CountVectorizer.inverse_transform(X),X:array数组或者sparse矩阵,返回值:转换之前数据格式。
CountVectorizer.get_feature_names(),返回值:单词列表。

中文文本特征提取:
使用jieba分词,jieba是优秀的中文分词第三方库,需要额外安装,在(cmd命令行)情况下 运行 pip install jieba 进行安装。利用一个中文词库,确定汉字之间的关联概率,汉字间概率大的组成词组,形成分词结果,除了分词,用户还可以添加自定义的词组。
机器学习算法基础第一天
输出结果:机器学习算法基础第一天

六.TF-IDF
TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
TF-IDF作用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
TF:term frequency(词的频率)—出现次数
IDF:inverse document frequency(逆文档频率)—log(总文档数量/该次出现的文档数量)
重要性程度:TF*IDF
机器学习算法基础第一天
输出结果:
机器学习算法基础第一天

七.特征预处理-归一化
特征处理定义:通过特定的统计方法(数学方法)将数据转换成算法要求的数据。
机器学习算法基础第一天
数值型数据:
标准缩放:1.归一化 、2.标准化、 3.缺失值
类别型数据:one-hot编码
时间类型:时间的切分

7.1 归一化
特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间。

公式:机器学习算法基础第一天机器学习算法基础第一天
注:作用于每一列,max为一列的最大值,min为一列的最小值,那么X’’为最终结果,mx,mi分别为指定区间值默认mx为1,mi为0。
7.2 归一化公式计算过程
机器学习算法基础第一天
7.3 归一化步骤
1、实例化MinMaxScalar
2、通过fit_transform转换
sklearn归一化API: sklearn.preprocessing.MinMaxScaler

MinMaxScaler语法:
MinMaxScalar(feature_range=(0,1)…)
每个特征缩放到给定范围(默认[0,1])

MinMaxScalar.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后的形状相同的array
机器学习算法基础第一天
输出结果:
机器学习算法基础第一天
7.4 归一化总结
注意在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。对于归一化来说:如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变。

八.标准化
8.1 介绍
特点:通过对原始数据进行变换把数据变换到均值为0,方差为1范围内
公式:机器学习算法基础第一天机器学习算法基础第一天
机器学习算法基础第一天
对于标准化来说:如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小。

8.2 StandardScaler语法
StandardScaler(…)处理之后每列来说所有数据都聚集在均值0附近方差为1。

StandardScaler.fit_transform(X,y),X:numpy array格式的数据[n_samples,n_features]返回值:转换后的形状相同的array。

StandardScaler.mean_,原始数据中每列特征的平均值

StandardScaler.std_,原始数据每列特征的方差

8.3 程序
机器学习算法基础第一天
输出结果:
机器学习算法基础第一天

九.缺失值
9.1处理方法
1.
机器学习算法基础第一天
2.sklearn缺失值API: sklearn.preprocessing.Imputer

9.2 Imputer语法
Imputer(missing_values=‘NaN’, strategy=‘mean’, axis=0),完成缺失值插补
Imputer.fit_transform(X,y),X:numpy array格式的数据[n_samples,n_features],返回值:转换后的形状相同的array

9.3 Imputer流程
1、初始化Imputer,指定”缺失值”,指定填补策略,指定行或列。
注:缺失值也可以是别的指定要替换的值
2、调用fit_transform
机器学习算法基础第一天
输出结果:
机器学习算法基础第一天

未经允许不得转载:作者:1043-李同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《机器学习算法基础第一天》 发布于2020-09-28

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

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

支付宝扫一扫打赏

微信扫一扫打赏

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

登录

忘记密码 ?

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

Q Q 登 录
微 博 登 录