import sklearn
from sklearn.feature_selection import VarianceThreshold
from sklearn.decomposition import PCA
import pandas as pd
"""数据降维"""
'''①过滤式(删除低方差特征),嵌入式(正则化),包裹式(递归特征消除)'''
'''②PCA降维'''
# 过滤式特征选择
def var():
# 实例化
var = VarianceThreshold(threshold=0.0) # threshold指定方差的阈值 默认为0
# 调用fit_transform
data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
print(data)
return None
if __name__ == '__main__':
var()
# PCA降维(特征数量大于100时使用)
def pca():
# 实例化
pca = sklearn.decomposition.PCA(n_components=0.9) # n_components指定降维后的特征数量 默认为None
# 调用fit_transform
data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
print(data)
return None
if __name__ == '__main__':
pca()
#把用户分成不同的类别
orders = pd.read_csv(r"E:\AI课程笔记\机器学习\orders.csv")
products = pd.read_csv(r"E:\AI课程笔记\机器学习\products.csv")
prior = pd.read_csv(r"E:\AI课程笔记\机器学习\order_products__prior.csv")
aisles = pd.read_csv(r"E:\AI课程笔记\机器学习\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'])
mt.head(10)
# 交叉表(特殊的分组工具)
cross = pd.crosstab(mt['user_id'],mt['aisle'])
#PCA
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
data.shape
"""机器学习算法分类:
1.监督学习:①分类:knn,贝叶斯,决策树,决策树和随机森林,逻辑回归,神经网络②回归:线性回归,岭回归③标注:svm,隐马尔科夫模型
2.无监督学习:k-means,聚类
3.半监督学习:深度学习
4.强化学习
5.迁移学习:"""
"""模型=算法+数据+模型参数"""
"""机器学习开发流程:①明确是分类还是回归问题②数据的采集和清洗③特征工程④模型训练⑤模型评估⑥模型优化⑦模型上线(模型部署),以API的形式提供服务"""
sklearn.datasets.load_iris() # 加载小规模数据集
sklearn.datasets.fetch_20newsgroups() # 下载大规模数据集
from sklearn.datasets import load_iris
li = load_iris()
li.data # 获取特征值
li.target # 获取目标值
li.DESCR # 获取描述信息
# 小规模分类数据集划分
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(li.data,li.target,test_size=0.25)
print("训练集的特征值和目标值:\n",x_train,y_train)
print("测试集的特征值和目标值:\n",x_test,y_test)
#大规模分类数据集划分
from sklearn.datasets import fetch_20newsgroups
news = fetch_20newsgroups(subset='all')
print(news.data)
print(news.target)
print(news.DESCR)
# 回归数据集划分
from sklearn.datasets import boston_house_prices
boston = boston_house_prices.load_data()
print(boston.data)
print(boston.target)
print(boston.DESCR)
#转化器(实现特征工程的API)
#fit_transform()方法(转化器) = fit() + transform() fit()用于生成平均值和标准差 transform()用于将数据转换成标准的数据
#估计器(实现机器学习算法的API)
#fit()方法(估计器) = fit() + predict() fit()用于生成模型 predict()用于预测
#score()方法(估计器) = score() + predict() score()用于评估模型 predict()用于预测
机器学习基础③——数据降维(filter,PCA),数据集加载,特征值和目标值,transform和predict
于 2023-10-14 23:49:40 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)