机器学习是从数据中自动分析得到规律(模型),并利用规律对未知数据进行预测python
数据处理:首先将全部数据放在一块儿,而后将其顺序打乱。因为顺序不是判断酒水的依据,咱们并不指望顺序影响到模型学习到的内容。换言之,咱们判断一种酒是红的仍是啤的,并不须要知道前一种或是接下来有什么酒出现。
这时,能够着手绘出可视化的数据分析结果,这些分析图将有助于你发现不一样变量之间的潜在相关性,而且能帮你发现是否有数据失衡。好比,倘若咱们的数据中大量结果都表现出啤酒的特征,那么模型大多数时候都遇到了啤酒,因此它的推测也将倾向于啤酒。可是真实世界中,模型须要判断的啤酒和红酒的量颇有多是相同的,倘若它按照训练的结果得出的大部分都是啤酒,那么它有很多时候都得出了错误的结论。
咱们还须要将数据分红两部分。第一部分用于训练模型,它们将占所有数据中的绝大多数。另外一部分则是用于评估模型的判断能力的。显然咱们不但愿用于训练的数据被拿来检测模型,由于这些数据极可能被模型给直接记住了,答案脱口而出。这就好像你在考试里总不会出现平时的做业原题那样。
有时咱们获得的数据须要一些其余形式的调整和操做,好比去重、规范化和纠错等等,这些都须要在数据准备的过程中完成。 而咱们的这个问答系统训练用的数据并不须要进一步操做,因此如今进入下一环节。web
特征工程是将原始数据转换为更好地表明预测模型的潜在问题的特征的过程,从而提升了对未知数据的模型准确性 直接影响模型的预测结果算法
建立一个基于Python3的虚拟环境(能够在你本身已有的虚拟环境中): mkvirtualenv –p /usr/bin/python3.5 ml3 在ubuntu的虚拟环境当中运行如下命令 pip3 install Scikit-learn 而后经过导入命令查看是否可使用: import sklearn
特征抽取针对非连续型数据ubuntu
特征抽取对文本等进行特征值化
注:特征值化是为了计算机更好的去理解数据数组
做用:对字典数据进行特征值化机器学习
类:sklearn.feature_extraction.DictVectorizer DictVectorizer.fit_transform(X) X:字典或者包含字典的迭代器 返回值:返回sparse矩阵(稀疏矩阵) DictVectorizer.inverse_transform(X) X:array数组或者sparse矩阵 返回值:转换以前数据格式 DictVectorizer.get_feature_names() 返回类别名称 DictVectorizer.transform(X) 和fit方法 按照原先的标准转换
文本特征抽取
做用:对文本数据进行特征值化svg
类:sklearn.feature_extraction.text.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.cut进行分词学习
实例化CountVectorizerspa
将分词结果变成字符串看成fit_transform的输入值
TF-IDF做用:用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
经过特定的统计方法(数学方法)将数据转换成算法要求的数据code