栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

机器学习算法基础2(数据降维、算法分类、sklearn数据集获取、转换器与估计器)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

机器学习算法基础2(数据降维、算法分类、sklearn数据集获取、转换器与估计器)

目录

1.特征选择 

特征选择主要方法:

1.1过滤式

 1.2主成份分析

 1.3 案例分析

2.机器学习算法分类  开发流程

2.1 数据类型

2.2 机器学习算法分类

监督学习:特征值+目标值

无监督学习:特征值

3.sklearn数据集获取

3.1数据集划分

分类数据集

 数据集分割

 回归数据集

 4.转换器与估计器

4.1转换器 实现特征工程

4.2 估计器  实现算法


1.特征选择 

特征选择原因

• 冗余:部分特征的相关度高,容易消耗计算性能 • 噪声:部分特征对预测结果有负影响

特征选择主要方法:

主要方法(三大武器):Filter(过滤式):VarianceThreshold

                      Embedded(嵌入式):正则化、决策树

               Wrapper(包裹式)

1.1过滤式

过滤掉低方差特征

sklearn.feature_selection.VarianceThreshold

def var():
    '''
    特征选择 删除低方差
    :return:
    '''
    var= VarianceThreshold(threshold=0.0)
    data =var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
    print(data)

if __name__=='__main__':
    var()

第1列第4列被删除(threshlod=0.0)删除方差为0的列

 1.2主成份分析 • sklearn. decomposition

 PCA:特征数量达到上百的时候,考虑是否需要用PCA,数量减少数据也会改变

 高维度数据  特征之间通常是线性相关的

n_components: 小数   0~1 保留信息的百分比   通常 90~95%

                           整数   减少到的特征数量

def pca():
    '''
    主成分分析降维
    :return:
    '''
    pca=PCA(n_components=0.9)
    data=pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
    print(data)

if __name__=='__main__':
    pca()

 1.3 案例分析

用户对物品类别的喜好细分降维

import pandas as pd
from sklearn.decomposition import PCA

#读取csv文件
prior =pd.read_csv('order_products__train.csv')
products = pd.read_csv('products.csv')
orders = pd.read_csv('orders.csv')
aisles = pd.read_csv('aisles.csv')

#合并四张表
_mg=pd.merge(prior,products,on=['product_id','product_id'])
_mg=pd.merge(_mg,orders,on=['order_id','order_id'])
mt=pd.merge(_mg,aisles,on=['aisle_id','aisle_id'])

#用到交叉表(特殊分组工具)  建立 行是用户id,列是其购买的各种类型物品
cross=pd.crosstab(mt['user_id'],mt['aisle'])

#进行主成分分析
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
print(data)

2.机器学习算法分类  开发流程

2.1 数据类型

离散型数据:区间内不可分

连续型数据

2.2 机器学习算法分类

监督学习:特征值+目标值

分类(目标值是离散型):    k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归、神经网络

回归 (目标值是连续型):   线性回归、岭回归

标注    隐马尔可夫模型     (不做要求)

无监督学习:特征值

聚类    k-means

3.sklearn数据集获取

3.1数据集划分

训练数据:构建模型  70% ~80%

测试数据:评估模型  20%~30%

sklearn.model_selection.train_test_split

 

分类数据集

 数据集分割

 

 回归数据集

 4.转换器与估计器

4.1转换器 实现特征工程

fit_transform():输入数据直接转化

fit():输入数据但不转化  +transform(): 数据转换

1、实例化 (实例化的是一个转换器类(Transformer))

2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)

4.2 估计器  实现算法

1、用于分类的估计器:

• sklearn.neighbors  k- 近邻算法 • sklearn.naive_bayes      贝叶斯 • sklearn.linear_model.LogisticRegression     逻辑回归

2、用于回归的估计器:

• sklearn.linear_model.LinearRegression     线性回归 • sklearn.linear_model.Ridge      岭回归

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号