老粉都知道(还不点关注)我这机器学习已经有几天没更了,主要是最近忙碌比赛,所以时间紧张
那么我为大家总结一下,之前的机器学习知识点,让大家更好了解机器学习领域。
在此阅读前,感谢大家的关注和点赞。如果有疑问,可以评论区提问(看见包回的)
本次从六个方面给大家进行总结,更加深透地理解机器学习。
一.概念 (机器学习到底是什么东东??)
机器学习,哎,一听名字就是:一个机器具有学习能力(机器学习我们,归纳总结,吸取教训)。更加通俗的讲法就是:机器通过大量数据去自动分析得到模型,并训练数据,去预测数据。
比如,我上传了许多猫和狗的图片,让机器去自动分析,得到能够分辨猫狗的模型,再进行一定程度的训练,那么我们就可以判断一个动物是猫还是狗。 比如下面那个就是猫
刚刚提到我们要有数据,数据包含特征值和目标值(可有可无)。特征值就是猫或者狗的特征,用来能够判断一个动物是狗还是猫的依据。如果判断为猫,目标值就为猫。
二.公开可用的数据集(方便自主学习使用)
scikit-learn网址:scikit-learn: machine learning in Python — scikit-learn 1.5.1 documentation
UCI网址:UCI Machine Learning Repository
Kaggle网址:Bohrium
- scikit-learn 数据量小,方便学习
- UCI 收录360个数据集,覆盖科技、生活、经济等领域,数据量几十万。
- Kaggle 大数据竞赛平台,真实数据,数据量巨大
那就浅浅露一手,给大家看一下鸢尾花数据集,数据集网上都有,可以点击链接自行下载。
import sklearn
from sklearn.datasets import load_iris
# Load the iris dataset
print(sklearn.datasets.load_iris())
三.特征工程
哎呀,刚刚忘记说机器学习的流程了,没事,现在补上。
- 获取数据(有数据你才能得到模型啊,有数据你才能训练模型)
- 数据预处理(把那些无用的数据删掉,比如:空值,无意义的,乱码)
- 特征工程(对特征值进行处理)
- 机器学习算法训练--模型
- 模型评估(如果模型不行的话,从第二步开始重新看看,再优化一下,直到模型评估良好)
- 应用(模型好了,我们才能应用)
很多人问,这特征工程不就是数据处理吗?其实不然,因为数据预处理,主要针对缺失值、异常值、无意义值。特征工程是在预处理后,专门用特殊技巧去对特征值进行处理,慢活出细糠嘛。
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction import DictVectorizer
data = [{'city':'北京','temperature':100}, {'city':'上海', 'temperature':60}, {'city':'深圳', 'temperature':30}]
# 1.实例化一个转换器类
transfer = DictVectorizer(sparse=False)
# 2.调用fit_transform()
data_new = transfer.fit_transform(data)
print("data_new\n", data_new)
# 如果下面报错了,你就换最下面那个,可能是版本不同吧,方法名不一样
# print("特征名字\n", transfer.get_feature_names())
print("特征名字\n", transfer.get_feature_names_out())
上述代码,是将数据变成最后数值化的二维矩阵。 并且输出了特征名字。注意看第五行,如果sparse=True,那就会输出一个混淆矩阵(简单来说就是输出一堆坐标)。
四.文本特征提取
我们在日常用的文本中,无非是中文或者英文。这两种语言在文本体现上给文本特征提取带来了不同的感觉。英文作文,每个英文单词都会有间隔,所以特征较容易提取。而中文作文,都是一大堆话,所以特征提取的时候,输出的都是一整句话。
看到了吧,就是这样的。整句话当做一个特征,就很无语。
以下分别是英文和中文文本特征提取的通道,可以点击链接,仔细学习。
感谢大家关注和点赞, 今天的分享就到这里,祝大家顺顺如意。