| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 机器学习(1) -> 正文阅读 |
|
[人工智能]机器学习(1) |
1、机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测。 2、机器学习的数据:文件(大多数是csv) mysql:(1)性能瓶颈,文件如果大,读取速度慢(2)格式不符合机器学习要求的数据格式 pandas:读取工具(是一个数据读取非常方便以及基本的处理格式的工具),其中的numpy读取速度快(为什么这么快?numpy释放了GIL,没有用这个锁,所以所有线程可以并行,而Cpython和Jpython不行) 3、数据集 Kaggle特点:(1)大数据竞赛平台 (2)80万科学家 (3)真实数据? (4)数据量巨大 UCI特点:(1)收录了360个数据集 ? ?(2)覆盖科学、生活、经济等领域 ? (3)数据量几十万 scikit-learn特点:(1)数据量较小 ? (2)方便学习 4、数据集数据的结构组成(特征值+目标值),有些数据集可以没有目标值 ?5、机器学习:重复值(不需要进行去重) ?6、Scikit-learn即sklearn:对于特征的处理提供了强大的接口。 特征工程的意义就是提高数据的效果,直接影响模型的预测结果。 Scikit-learn是Python语言的机器学习工具 Scikit-learn包括许多知名的机器学习算法的实现 安装scikit-learn需要有Numpy,pandas等库 7、特征抽取对文本等数据进行特征值化 (1)字典特征抽取对字典数据进行特征值化,把字典中的一些类别数据分别进行转化成数组形式,有类别的这些特征先要转换成字典数据。 from sklearn.feature_extraction import?DictVectorizer DictVectorizer(sparse=True,…) DictVectorizer.fit_transform(X) ? ? ?? (2)文本特征抽取(需要对中文进行分词才能详细的进行特征值化,通过import jieba//jieba.cut()返回值:词语生成器,需转换成列表通过list) from sklearn.feature_extraction.text import CountVectorizer CountVectorizer(max_df=1.0,min_df=1,…)返回词频矩阵 CountVectorizer.fit_transform(X,y) ? ? ?? 8、Tf:term frequency词的频率? ? ? ? ? ? 出现的次数 idf:逆文档频率inverse document frequency? ? log(总文档数量/该词出现的文档数量) Tf*idf? ? 体现重要性程度。 from sklearn.feature_extraction.text import TfidfVectorizer TfidfVectorizer(stop_words=None,…) 返回词的权重矩阵 TfidfVectorizer.fit_transform(X,y) ? ? ?? 9、特征处理:通过特定的统计方法(数学方法)将数据转换成算法要求的数据。 数值型数据:标准缩放:1、归一化? 2、标准化 3、缺失值 类别型数据:one-hot编码 时间类型:时间的切分 归一化: 特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间,三个特征同等重要的时候,要进行归一化。 归一化的目的:使得某一个特征最终结果不会造成更大影响。 方差为0,说明每个特征中,所有数据都相同。 from sklearn. preprocessing?import MinMaxScaler? ? ? ? ? ? ? ?#Scaler缩放 MinMaxScalar(feature_range=(0,1)…) 每个特征缩放到给定范围(默认[0,1]) MinMaxScalar.fit_transform(X) ? ? ?? 注意:注意在特定场景下最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性(系统的稳定性)较差,只适合传统精确小数据场景。 标准化: 特点:通过对原始数据进行变换把数据变换到均值为0,方差为1范围内。 sklearn特征化API: ?scikit-learn.preprocessing.StandardScaler StandardScaler(…) 处理之后每列来说所有数据都聚集在均值0附近方差为1 StandardScaler.fit_transform(X,y) ? ? ?? 对于归一化来说:如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变 对于标准化来说:如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小。 缺失值:
?sklearn缺失值API: ?sklearn.preprocessing.Imputer Imputer(missing_values='NaN', strategy='mean', axis=0按列) 完成缺失值插补,初始化Imputer,指定”缺失值”,指定填补策略,指定行或列。注:缺失值也可以是别的指定要替换的值 Imputer.fit_transform(X,y) ? ? ?? numpy的数组中可以使用np.nan/np.NaN来代替缺失值,属于float类型 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:29:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |