机器学习笔记——特征工程、常见机器学习算法及python_sklearn库的API使用

本文介绍了机器学习的基本概念和应用场景,讲解了数据集的构成和处理,特别是特征工程的步骤,包括特征抽取、预处理和降维。提到了文本数据的数字化、归一化和标准化方法,并讨论了数据降维中的PCA。此外,文章还概述了常见的机器学习算法,如KNN、朴素贝叶斯、决策树、随机森林、线性回归和逻辑回归,以及如何应对过拟合问题。最后简要提及了非监督学习中的k-means聚类算法。
摘要由CSDN通过智能技术生成

先推荐一款免费的笔记本,sublime_text
可以选择各种编程语言方便程序的编写和记录,如果用虚拟机登录mysql数据库也可以先在sublime上写sql语句,方便修改。

一、首先有两个基本问题

1.1 机器学习是干什么的?

从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测

1.2 哪些使用场景?

医疗、航空、物流、电商…等自动化需求的场景

二、数据集的构成和处理

2.1 数据集的构成

数据集大多是csv格式文件,可以用pandas读取

(1)特征值+目标值(要干的事情),根据特征去判断目标,不是所有特征都需要,根据需要修改

(2)每一行是一个样本,每一列是一个特征

(3)有些数据集可以没有目标值(用非监督学习算法,典型代表聚类k-means)

获取特征值

li = 数据集

li.data

获取目标值

li.target

数据集进行分割

x_train,x_test,y_train,y_test =
sklearn.model_selection.train_test_split(li.data,li.target,test_size=0.25)

test_size= 比例    返回值包含训练集合测试集  用x_train代表训练集的特征值,x_target代表训练集的目标值
x_test测试集的特征值,y_test测试集的目标值
x:数据集的特征值
y:数据集的目标值
test_size:测试集的大小

2.2 对特征的处理

文本不能直接输入让机器计算,需要数据化,这就需要特征工程

对缺失值:数据转换

对重复值:不处理(机器学习中不需要去重)

特征工程包括:特征抽取、特征预处理、数据降维

2.2.1 特征抽取

比如将文本转换成数字类型

文本、字符串转换成数字形式

对文本等数据进行特征值化,为了计算机更好的理解数据,只能理解数据

1.字典特征抽取 对字典进行特征值化 转成one-hot编码形式

API:sklearn.feature_extraction.DictVectorizer 
#Vectorizer数字化
语法:DicVectorizer(sparse=True,...)
DictVectorizer.fit_transform(X)
X:字典或者包含字典的迭代器  字典放在列表里
返回值:返回sparse矩阵   #scipy中的数据类型 
DictVectorizer.get_feature_names()  
返回类别名称
DictVectorizer.transform(X)
按照原先的标准转换

2.文本特征抽取

对文本等数据进行特征值化

API:sklearn.feature_extraction.text.TfidfVectorizer
语法:TfidfVectorizer(stop_words=None,...)  #stop_words= 忽略哪些词
TfidfVectorizer.fit_transform(X)
X:文本或者包含文本字符串的可迭代对象
返回值:返回sparse矩阵
TfidfVectorizer.get_feature_names()  
第一行特征名称
返回值:单词列表
得到的列表是每个词的重要性程度

2.2.2 特征预处理

1.归一化

通过对原始数据进行变换把数据映射到(默认[0,1]之间)

公式: X’ =(x-min)/(max-min) X’’ = X’*(mx-mi)+mi

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值