机器学习基础篇
机器学习基础
1基础知识点
1、特征工程的定义
利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过程。简而言之,特征工程就是一个把原始数据转变成特征的过程,这些特征可以很好的描述这些数据,并且利用它们建立的模型在未知数据上的表现性能可以达到最优。
2、数据集
1数据集的结构组成:
特征值+目标值。
2数据集类型:
- Kaggle 数据。
- UCI 数据:比较专业。每个领域都有。
- scikit-learn:数据量小,方便学习。
3、认识scikit-learn包
前提:需要有numpy,pandas基础包
安装包:pip install Scikit-lrean
导入包:import sklearn
作用:
分类 | classfication |
---|---|
回归 | regression |
聚类 | clustering |
降维 | dimensionality reduction |
模型选择 | model selection |
特征工程 | preprocessing |
4、数据的特征抽取
*特征抽取定义:对文本等数据进行特征值化
导入包
from sklearn.feature_extraction.text import CountVectorizer
# 实例化CountVectorizer
vector = CountVectorizer()
# 调用fit_transform输入并转换数据
res = vector.fit_transform(["life is short,i like python","life is too long,i dislike python"])
# 打印结果
print(vector.get_feature_names())
print(res.toarray())
5、sklearn特征抽取api
skl.feature_extraction
5.1对字典数据特征抽取
skl.feature_extraction.DictVectorizer(sparse=true) as dv
细化:
代码 | 用法 | 对象x | 返回值 |
---|---|---|---|
dv.fit_trasform(x) | 输入数据转化 | 字典or包含字典的迭代对象 | sparse矩阵 |
dv.inverse_transform(x) | sparse矩阵、array数组 | 装换之前的数据格式 | |
dv.get_feature_names() | --------- | 返回类别 | |
dv.transform(x) | 按照原先的标准转换 |
def dictvec():
"""
字典数据抽取
"""
# 实例化,(sparse=False并转化为array数组)
dict = DictVectorizer(sparse=False)
# 调用fit_transform
# 返回sparse矩阵
data = dict.fit_transform([{'city': '北京','temperature': 100}, {'city': '上海','temperature':60}, {'city': '深圳','temperature': 30}])
print(dict.get_feature_names())
# 返回类别
#out:
print(dict.inverse_transform(data))
print(data)
return None
5.2对文书数据特征抽取
skl.feature_extraction.text.CountVectorizer as cv
代码 | x对象 | 返回值 |
---|---|---|
cv.fit_transform(x) | 文本or含字符串的可迭代对象 | sparse矩阵 |
cv.inverse_tansform(x) | array数组orsparse矩阵 | 转化之前的数据格式 |
cv.get_feature_names() | 包含数据的所有单词列表 |
def countvec():
"""
对文本进行特征值化
:return: None
"""
cv = CountVectorizer()