sklearn学习笔记


sklearn是基于numpy核scipy的一个机器学习算法库
监督学习(supervised learning)
1.
  • netghbors:近邻算法
  • svm:支持向量机
  • kemel-ridge:核——岭回归
  • discriminant——analysis:判别分析
  • linear——model:广义线性模型
2.
  • ensemle:集成方法
  • tree:决策树
  • naive—爸也是:朴素贝叶斯
  • cross——decomposition:交叉分解
  • gaussian——process:高斯过程
3.
  • neural_network:神经网络
  • calibration :概率校准
  • isotonic:保序回归
  • feature——selection:特征选择
  • multiclass:多类多标签算法
以上模块包括多个算法,在调用时直接import即可


from skearn.svm import svc
svc=SVC()

无监督学习(unsupervised learning)
1.
  • decomposition:矩阵因子分解
  • cluster:聚类
  • manifold ['mænɪfəʊld]流刑学习
  • mixture:高斯混合模型
2.
  • neural_network:无监督神经网络
  • density:密度估计
  • covariance:协方差估计
以上模块包括多个算法,在调用时直接import即可
数据变换
1.
  • feature_extraction  [ɪk'strækʃ(ə)n; ek-]:特征抽取
  • feature_selection:特征选择
  • preprocess:预处理
2.
  • kernel_approximation :核逼近
  • pipline :管道流,(不算数据变换模块)
  • random_projection:随机投影
算法类的顶层设计图:
  • baseEstimator: 所有评估器的父类
  • ClassifierMixin:所有分类器的父类,其子类必须实现一个score[skɔː]函数
  • RegressorMixin:所有回归器的父类,其子类必须实现一个score的函数
  • ClusterMixin :所有聚类的父类,其子类必须实现一个fit_predict[prɪ'dɪkt]函数
  • BiClusterMixin :
  • TransformerMixin :所有数据变换的父类,其子类必须实现一个fit_transform函数
  • DensityMixin :所有密度估计相关的父类,其子类必须实现一个score函数
  • MetaEsimatorMixin :可能是出于兼容性考虑,目前里面没有内容
support vector classifier(svc),support vector regression(SVR),即可以作为分类器也可以作为回归器,他们分别继承实现ClassifierMixin和RegressorMixin
ABCMeta是python中实现抽象类和接口机制的一个模块,ABC是Abstract Base Class的简写,由于python自身不提供抽象类和接口机制,

cluster
MeanShift和KMeans为例,KMeans实现了Transform而Mixin类,因此他有一个transform方法

统一的API接口
我们可以使用完全一样的接口来实现不同的机器学习算法,流程解释如下:
  1. .数据加载和预处理
  2. 定义分类器(回归器等等),譬如svcsvm.svc()
  3. 用训练集对模型进行训练,只需调用fit方法,svc。fit(X_train,y_train)
  4. 用训练好的模型进行预测:Y_pred=svc_predict(X_test)
  5. 对模型进行性能评估:svc.score(X_test,y_test)
模型评估中,可以通过传入一个score参数来自定义评估标准,该函数返回值越大代表模型越好,sklearn有一些预定义的score方法,在sklearn.metrics.SCORES中定义,调用时只需传入相应的字符串即可,通过如下方式获取到所有预定义方法名:
from sklearn.metrics import SCORES
for i in SCORES.keys():
print(i)
如下名:
precision_micro
neg_mean_squared_log_error
v_measure_score
precision_weighted
median_absolute_error
recall_macro
neg_median_absolute_error
r2
f1_micro
f1_samples
fowlkes_mallows_score
explained_variance
precision_samples
recall_weighted
neg_mean_squared_error
completeness_score
mean_squared_error
homogeneity_score
precision_macro
recall
recall_samples
adjusted_mutual_info_score
precision
mean_absolute_error
adjusted_rand_score
mutual_info_score
recall_micro
neg_log_loss
f1_macro
roc_auc
f1
neg_mean_absolute_error
f1_weighted
log_loss
accuracy
normalized_mutual_info_score
average_precision

你可能感兴趣的:(sklearn学习笔记)