一、数据来源
用机器学习来分析数据、获取客观规律,首先我们要能有海量数据去进行分析,才有可能得出相对准确的结论。如果数据量不够大,则很可能得出误导性的结论。比如去高端住宅区调查人均存款情况,得出的结论就会大大超出真实水平。数据就像是食物,只有保证足够的高质量食物,才让我们的机器学习程序更加强大。常见的数据来源:
- 企业日积月累的大量数据(如淘宝的购买记录)
- 政府掌握的各种数据(如经济产值、货币发行量)
- 科研机构的实验数据(如特斯拉自动驾驶数据)
- …
二、数据类型
- 离散型数据:由记录不同类别个体的数目所得到的数据,又称计数数据,所以这些数据全为整数,且不可再细分,也不能进一步提高精确度。
- 连续型数据:变量可以再某个范围内取任一数,即变量的取值可以是连续的,如长度、时间、质量值等。这类数据是非整数。
可用数据集:
为了方面学习,解决数据不足的问题,python提供了可观且实用的数据集。
数据集 | 特点 |
---|---|
scikit-learn | 数据量较小,方便学习 |
UCI | 收录了360个数据集,覆盖各个领域,且有几十万行数据| |
Kaggle | 大数据竞赛平台、真实数据且数据量巨大,日常使用也最多 |
三、数据的特征工程
(一)常用数据集的结构组成:
结构:特征值+目标值
一行为一个完整数据,一列为一个特征,如:
(二)特征工程是什么
特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,提高了对模型预测的准确性。特征工程直接影响模型的预测结果。
比如,一段文字:
在特征工程中先将文字转化为数组再进行学习,可以降低学习难度和提升学习的精度:
(三)相关库的安装
日常学习用的比较多的是scikit-learn这个库,其他的数据集库在后面的帖子中会进一步解析。
pip install Scikit-learn
#安装好库之后再导入
import sklearn
# 查看sklearn的版本
print(sklearn.__version__)
四、特征抽取
特征抽取需要用到的api如下:
(一)字典特征抽取:
sklearn.feature_extraction.DictVectorizert
# 导入相关库
from sklearn.feature_extraction import DictVectorizer
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer
from sklearn.preprocessing import MinMaxScaler, StandardScaler, Imputer
from sklearn.feature_selection import VarianceThreshold
from sklearn.decomposition import PCA
import jieba