机器学习基础概念
- 机器学习:从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测
- 数据集:
数据集的数据结构组成:特征值+目标值
可用数据集:
1.Kaggle
特点:
(1).大数据竞赛平台
(2).真实数据
(3).数据量巨大
2.scikit-learn
特点:
(1).数据量较小
(2).方便学习
3.UCI
(1).收录了360个数据集
(2).覆盖科学,生活,经济等领域
(3).数据量几十万
-
数据处理工具
1.pandas:一个数据读取非常方便以及基本的处理格式的工具
2.sklearn:对于特征处理提供了强大的接口
sk-learn包括许多知名的机器学习算法的实现 -
特征工程:将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的模型准确性
特征工程的步骤:
1.数据特征抽取
2.数据特征预处理
3.数据特征选择
特征抽取
- 特征抽取对文本等数据进行特征值化–为了让机器更好的理解数据
字典特征抽取
- 目的:对字典数据进行特征值化
- DictVectorizer
1.DictVectorizer.fit_transform(X)
(1).X为字典或者包含字典的迭代器
(2).返回值:返回sparse矩阵,sparse节约内存,方便读取处理
2.DictVectorizer.inverse_transform(X)
(1).X:array数组或者sparse矩阵
(2).返回值:转换之前数据格式
3.DictVectorizer.get_feature_names_out()
(1).返回类别名称
4.DictVectorizer.transform(X)
(1).按照原先的标准转化
使用:
def dictvec():
"""
字典数据抽取
:return:
"""
#实例化,默认sparse为True
dict = DictVectorizer()
#调用fit_transform
data = dict.fit_transform(([{
'city':'北京','temperature':100},{
'city':'上海','temperature':60},{
'city':'广州','temperature':30}]))
#获取类别名称
print(dict.get_feature_names_out())
print('这是sparse矩阵:\n',data)
#实例化,将sparse设置为False
dict = DictVectorizer(sparse=False)
data = dict.fit_transform(([{
'city':'北京','temperature':100},{
'city':'上海','temperature':60},{
'city':'广州','temperature':30}]))
print('这是ndarray类型:\n', data)
return None
if __name__ == '__main__':
dictvec()
输出:
['city=上海' 'city=北京' 'city=广州' 'temperature']
这是sparse矩阵:
(0, 1) 1.0
(0, 3) 100.0
(1, 0) 1.0
(1, 3) 60.0
(2, 2) 1.0
(2, 3) 30.0
这是ndarray类型:
[[ 0. 1. 0. 100.]
[ 1. 0. 0. 60.]
[