机器学习day01——笔记

发布时间:2024-11-21 20:04

5. 学习笔记:使用MindNode或Evernote做笔记 #生活技巧# #工作学习技巧#

机器学习

1、机器学习分类:

①监督学习:

​ 分类问题:特征值——目标值(类别)

​ 回归问题:目标值为连续数值

②无监督学习:无目标值

2、数据集

2.1、数据集:

​ 可用数据集搜索:kaggle、UCI、scikit-learn

2.2、Scikit-learn数据集的使用:

​ ①获取小规模数据集:sklearn.datasets.load_*()

​ ②获取大规模数据集:sklearn.datasets.fetch_*(data_home=None,subset=‘tarin’) #subset为选择train\test\all

2.3、数据集返回值为字典格式 datasets.base.Bunch: ​ ①data:特征数据数组————特征值​ ②target:标签数组————目标值​ ③DESCR:数据描述(说明文档)​ ④feature_names:特征名(特征值的名字,即每个值代表什么意思)​ ⑤target_names:标签名(目标值的名字)

​ 调用方式:① dict[“key”] = value ②bunch.key = value

2.4、数据集的划分

​ 1、训练集(80%)、测试集(20%)

​ 2、sklearn.model_selection.train_test_split(arrays,*options)

​ feature:数据集的特征值——data​ lable:数据的标签值——target​ test_size: 测试集的大小 默认0.25​ random_state :随机数种子​ return :训练集特征值,测试集特征值,训练集目标值,测试集目标值

from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split def datastes_demo(): iris=load_iris() feature_train,feature_test,label_train,label_test=train_test_split(iris.data,iris.target,test_size=0.2) 123456 3、特征工程

​ 特征工程决定机器学习上限

3.1、特征提取

​ 特征提取API:sklearn.feature_extraction

字典特征提取(one-hot编码)

sklearn.feature_extraction.DictVectorzer(sparse=True…)

DictVectorzer.fit_transform(data):DictVectorzer.inverse_transform(data)DictVectorzer.get_feature_name():

from sklearn.feature_extraction import DictVectorizer def dict_demo(): data=[{"city":'北京',"temperature":'100'}, {"city":'上海',"temperature":'60'}, transfer=DictVectorizer()#实例化 data_new=transfer.fit_transform(data)#返回默认为稀疏矩阵(本质是one-hot编码) print(data_new) 12345678 文本特征提取 ①CountVectorizer

sklearn.feature_extraction.text.CountVectorizer(stop_words=[]) 返回词频矩阵

CountVectorizer.fit_transform(data):CountVectorizer.inverse_transform(data)CountVectorizer.get_feature_name():

中文文字特征提取可用jieba分词 import jieba

import jieba def cut_ch_demo(text): result=" ".join(list(jieba.lcut(text))) return result 1234 ②Tf-idf文本特征提取

sklearn.feature_extraction.text.TfidfVectorizer(stop_words=[])

返回词的权重矩阵

TfidfVectorizer.fit_transform(data):TfidfVectorizer.inverse_transform(data):TfidfVectorizer.get_feature_name(): 3.2、特征预处理(归一化、标准化)

特征预处理API:sklearn.preprocessing

归一化(异常值影响)

sklearn.preprocessing.MinMaxScaler(feature_range=(0,1)…)

MinMaxScaler.fit_transform(data)返回值:转换后的形状相同的array 标准化(样本多时稳定)

sklearn.preprocessing.StandarScaler(feature_range=(0,1)…)

StandarScaler.fit_transform(data)返回值:转换后的形状相同的array 3.3、特征降维

降低特征个数,使特征与特征不相关。

特征选择 Filter过滤式:方差选择、相关系数

低方差特征过滤

模块:sklearn.feature_selection

sklearn.feature_selection.VarianceThreshold(threshold=0.0)

Variance.fit_transform(data):返回值:转换后的形状相同的array

def variance_demo(): return None 123'

相关系数(皮尔逊)
r ( X , Y ) = C o v ( X , Y ) V a r ( X ) V a r ( Y ) r(X,Y)={{Cov(X,Y)}\over\sqrt{Var(X)Var(Y)}} r(X,Y)=Var(X)Var(Y)

​Cov(X,Y)​
|r|约接近0,表示相关性越弱

模块:from scipy.stats import pearsonr

from scipy.stats import pearsonr r = pearsonr(datax,datay) #返回值为(相关系数,P值——即显著水平) 123

相关性高时,选取其中一个或加权求和

Embedded嵌入式:决策树、正则化、深度 主成分分析

数据维数压缩

找到一个直线,通过一个矩阵运算得出主成分的结果

模块:sklearn.decomposition.PCA(n_components=None)

n_components:小数表示保留百分之多少的信息,整数表示减少到多少特征PCA.fit_transdorm(X)返回值:转换后指定维度的array 项目实例(数据降维):

import pandas as pd from sklearn.decomposition import PCA order_products = pd.read_csv("./source/order_products__prior.csv") product = pd.read_csv("./source/products.csv") aisles = pd.read_csv("./source/aisles.csv") orders = pd.read_csv("./source/orders.csv") tab1 = pd.merge(aisles, product, on=["aisle_id", "aisle_id"]) tab2 = pd.merge(tab1, order_products, on=["product_id", "product_id"]) tab3 = pd.merge(tab2, orders, on=["order_id", "order_id"]) tab4 = pd.crosstab( tab3["user_id"],tab3["aisle"]) print(tab4.shape) # 实例化 transfer = PCA(n_components=0.95) # 调用方法 data_new = transfer.fit_transform(tab4) print(data_new) print(data_new.shape)

123456789101112131415161718192021

项目实例(数据降维)代码中的四个数据文件见百度网盘:

链接:https://pan.baidu.com/s/1k9QKTdwazpcOuTV1sucQfg 提取码:yd2k 12

网址:机器学习day01——笔记 https://www.yuejiaxmz.com/news/view/179110

相关内容

做笔记=抄书?你还是不会学习!这样做笔记才能高效
《强化学习》学习笔记3——策略学习
提高学习效率——5R笔记法
强化学习笔记二
学习笔记(1)——生活的哲学。
SpringMVC理论、SSM搭建、文件上传下载、拦截器,全局异常捕获、学习笔记
学生用计算机的使用技巧,选学生笔记本电脑的小窍门
笔记
学习笔记
关于举办浙江大学第六届最美学习笔记大赛的通知

随便看看