机器学习-特征处理/归一化/标准化/降维03

归一化

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

from sklearn.preprocessing import MinMaxScaler
def mm(): # 归一化处理
    mm = MinMaxScaler()
    data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
    print(data)

if __name__=='__main__':
    mm()

在这里插入图片描述

在这里插入图片描述

标准化

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

from sklearn.preprocessing import StandardScaler

def stand():
    # 标准化缩放
    std = StandardScaler()
    data = std.fit_transform([[1.,-1.,3.],[2.,4.,2.],[4.,6.,-1.]])
    print(data)
if __name__=='__main__':
    stand()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import numpy as np
from sklearn.preprocessing import Imputer

def im():
    # 缺失值处理
    im = Imputer(missing_values="nan",strategy="mean",axis=0)
    data = im.fit_transform([[1,2],[np.nan,3],[7,6]])
    print(data)
if __name__=='__main__':
    im()

在这里插入图片描述

特征处理

特征处理是什么:通过特定的统计方法(数学方式)将数据转换成算法要求的数据。
降维:把特征的数量减少叫做降维
在这里插入图片描述
特征的选择:特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值,也不改变值,但是选择后的特征维度肯定比之前小,毕竟我们只选择了其中的一部分特征。
主要方法(工具):
filter(过滤式):VarianceThreshold
Embedded(嵌入式):正则化,决策树
Wrapper(包裹式)

降维过滤式:从方差大小来考虑所有样本这个特征的数据情况

在这里插入图片描述

def var():
    # 特征选择-删除低方差的特征
    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()

在这里插入图片描述

降维主成分分析

在这里插入图片描述
PCA:当特征数量达到上百的时候—考虑数据的简化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
n_components 小数 0-1 90% 一般保留特征(90%-95%)
整数:减少到的特征数量 一般使用小数

from sklearn.decomposition import PCA

def pca():
    # 主成分分析进行特征降维
    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()

在这里插入图片描述
案例:

数据来源:https://www.kaggle.com/c/instacart-market-basket-analysis/data?select=order_products__prior.csv.zip
文件详情截图
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
1,合并各张表到一张表当中
pd.merge()

import pandas as pd
from sklearn.decomposition import PCA

# 读取4张表数据
prior = pd.read_csv("./analysis/order_products__prior.csv")
products = pd.read_csv("./analysis/products.csv")
aisles = pd.read_csv("./analysis/aisles.csv")
orders = pd.read_csv("./analysis/orders.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"])

print(mt.head(10))

# 2,建立一个类似行,列的数据  交叉表(特殊的分组表)如: 用户1--商品参数
cross = pd.crosstab(mt["user_id"],mt["aisle"])
print(cross.head(10))
# 3, 进行主成分分析
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
print(data)
print(data.shape)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他降维方法:线性判别分析LDA

机器学习基础
1,机器学习开发流程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2,机器学习算法分类

明确几点问题:
(1)算法是机器学习的核心,数据和计算是基础
(2)找准定位
- 分析很多的数据
- 分析具体的业务
- 应用常见的算法
- 特征工程,掉参数,优化
(3)学会分析问题,使用机器学习算法的目的,想要算法完成何种任务
(4)掌握算法的基本思想,学会对问题用响应的算法解决
(5)学会利用库或者框架解决问题
在这里插入图片描述
在这里插入图片描述
监督学习(重点):有特征值+目标值
在这里插入图片描述

  • 分类:目标值离散型 回归:目标值连续性

  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 输入数据有特征有标签,即有标准答案

非监督学习:只有特征值
在这里插入图片描述

  • 输入数据有特征无标签,即无标准答案

3,机器学习模型
算法+数据=模型

原文地址:https://www.cnblogs.com/gemoumou/p/14186295.html