sklearn常用模块

一、数据集

  • sklearn.datasets模块

直接数据集

数据集名称调用方式适用算法数据规模
波士顿房价load_boston()回归506*13
鸢尾花load_iris()分类150*4
糖尿病load_diabetes()回归442*10
手写数字load_digits()分类5620*64
Olivetti脸部图像数据集fetch_olivetti_faces()降维400*64*64
新闻分类fetch_20newsgroups()分类-
带标签的任丽娜数据及fetch_lfw_people()分类、降维-
路透社新闻语料数据集fetch_rev1()分类804414*47236

注意:小数据集可以直接使用,大数据集 要在调用时 程序自动下载(一次即可)

#波士顿房价
sklearn.datasets.load_boston    #加载波士顿房价数据集
'''
重要参数:
return_X_y: 表示 是否返回targer(即 价格),默认为False,只返回data(即 特征/属性)
'''

#代码
from sklearn.datasets import load_boston
boston = load_boston()
print(boston.data.shape)
data, target = load_boston(return_X_y=True)
print(data.shape,  target_shape)



#鸢尾花
sklearn.datasets.load_iris 
'''
重要参数:
return_X_y:  若为Ture,则以 (data, target) 形式 返回数据;默认为False,表示以字典形式返回数据的全部信息(包括data 和 target)
'''

#代码
from sklearn.datasets import load_iris
iris = load_iris()
print(iris.data.shape)
print(iris.target.shape)
print(iris.target_names)



#手写数字数据集
sklearn.datasets.load_digits
'''
重要参数:
return_X_y: 若为True,则以 (data, target) 形式 返回数据;默认为False,表示以字典形式返回数据的全部信息(包括 data 和 target)
n_class: 表示返回数据的类别数,如:n_class = 5, 则返回0~4的数据样本
'''

#代码
from sklearn.datasets import load_digits
digits = load_digits()
print(digits.data.shape)
print(digits.target.shape)
print(digits.images.shape)

import matplotlib.pyplot as plt
plt.matshow(digits.image[0])
plot.show()

构造数据集

sklearn.datasets.make_regression等

二、常用算法

类型应用算法
分类异常检测、图像识别等KNN、SVM等
回归价格预测、趋势预测等线性回归、SVR等
聚类图像分割、群体划分等KMeans、谱聚类等
降维可视化PCA、NMF等

2.1 分类模型

模型调用方式
最近邻算法neighbors.NearestNeighbors
最近邻算法neighbors.KNeighborsClassifier (RadiusNeighborsClassifier)
KDTreeneighbors.KDTree
支持向量机svm.SVC (LinearSVC)
朴素贝叶斯naive_bayes.GaussianNB
决策树tree.DecisionTreeClassifier
集成方法ensemble.BaggingClassifier
神经网络neural_network.MLPClassifier

2.2 回归模型

模型调用方式
线性回归linear_model.LinearRegression
岭回归(L2正则化)linear_model.Ridge (RidgeCV)
Lasso回归(L1正则化)linear_model.Lasso (LassoCV)
弹性网络(介于L1和L2之间)linear_model.ElasticNet (ElasticNetCV)
最近邻回归neighbors.KNeighborsRegressor (RadiusNeighborsRegressor)
回归树tree.DecisionTreeRegressor
支持向量机回归svm.SVR (LinearSVR)
最小角回归linear_model.Lars
贝叶斯回归linear_model.BayesianRidge
逻辑回归linear_model.LogisticRegression
多项式回归preprocessing.PolynomialFeatures

linear_model.LinearRegression lr查看模型结果

  • 各变量权重: lr.coef_
  • 截距项: lr.intercept_
  • R^2值: lr.score(X_train, y_train)

2.3 聚类模型

  • sklearn.cluster
模型调用方式
K-Meanscluster.KMeans
K-Means小批量聚类cluster.MiniBatchKMeans
AP聚类cluster.AffinityPropagation
均值漂移cluster.Meanshift
层次聚类cluster.AgglomerativeClustering
DBSCANcluster.DBSCAN
BIRCHcluster.Birch
谱聚类cluster.SpectralClustering
  • 不同聚类模型用到的相似度度量方法
算法名称参数可扩展性相似性度量
K-Means聚类个数大规模数据点间距离
DBSCAN邻域大小大规模数据点间距离
Gaussian Mixtures聚类个数和其他超参复杂度高,不适合处理大规模数据马氏距离
Birch分支因子、阈值等其他超参大规模数据两点间的欧氏距离

2.4 降维模型

  • sklearn.decomposition
模型调用方式
主成分分析decomposition.PCA
截断SVD和LSAdecomposition.TruncatedSVD
字典学习decomposition.SparseCoder
因子分析decomposition.FactorAnalysis
独立成分分析decomposition.FastICA
非负矩阵分解decomposition.NMF
LDAdecomposition.LatentDirichletAllocation
  • 不同降维算法 的适用场景
算法名称参数可扩展性相似性度量
PCA所降维度及其他超参大规模数据信号处理等
FastICA所降维度及其他超参超大规模数据图形图像特征提取
NMF所降维度及其他超参大规模数据图形图像特征提取
LDA所降维度及其他超参大规模数据文本数据、主题挖掘

2.5 集成算法

  • sklearn.ensemble
模块算法
baggingbagging, BaggingClassifier, BaggingRegressor
RandomForestRandomForestClassifier, RandomForestRegressor
RandomTreesEmbedding
AdaBoostAdaBoostClassifier, AdaBoostRegressor
gradient_boostinggradient_boosting, ExtraTreesClassifier, ExtraTreesRegressor

sklearn模型接口

  • 监督模型提供的接口有:

model.predict(X_new) 预测新样本
model.predict_proba(X_new) 预测概率,仅对某些模型有用,比如LogisticRegression
model.score 得分越高,fit越好

  • 非监督模型提供的接口有:

model.transform() 从数据中学到新的”基空间“
model.fit_transform() 从数据中学到新的基 并将这个数据按照这组”基“进行转换

三、数据预处理

  • sklearn.preprocessing 模块

Imputer
Binarizer

数值特征处理

MinMaxScaler
StandardScaler
PolynomialFeatures 多项式特征

类别特征处理

LabelEncoder
MultiLabelBinarizer
OnehotEncoder

四、特征选择

  • sklearn.feature_selection

SelectFromModel等

五、模型处理和验证等

  • sklearn.model_selection

train_test_split
cross_val_score
KFold
LeaveOneOut 留一验证
LeavePOut 留P验证
ShuffleSplit

分层分割

  • StratifiedKFold
  • StratifiedShuffleSplit

分组分割

  • LeaveOneGroupOut
  • LeavePGroupsOut
  • GroupShuffleSplit
  • GroupKFold

六、模型评估

参考这篇文章

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值