sklearn模块

sklearn 常用模块

scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法
还包括了特征提取,数据处理和模型评估者三大模块

预处理 sklearn.preprcessing

规范化

  • MinMaxScaler : 最大最小值规范化
  • Normalizer : 使每条数据各特征值的和为1
  • StandardScaler : 为使各特征的均值为0,方差为1

编码

  • LabelEncoder :把字符串类型的数据转化为整型
  • OneHotEncoder :特征用一个二进制数字来表示
  • Binarizer : 为将数值型特征的二值化
  • MultiLabelBinarizer : 多标签二值化

特征抽取 sklearn.feature_extraction

  • DictVectorizer : 将dict类型的list数据,转换成numpy array
  • FeatureHasher : 特征哈希,相当于一种降维技巧
  • image :图像相关的特征抽取
  • text: 文本相关的特征抽取
  • text.CountVectorizer:将文本转换为每个词出现的个数的向量
  • text.TfidfVectorizer:将文本转换为tfidf值的向量
  • text.HashingVectorizer:文本的特征哈希

特征选择 sklearn.feature_selection

   (1)降低复杂度(2)降低噪音(3)增加模型可读性
  • VarianceThreshold :删除特征值的方差达不到最低标准的特征
  • SelectKBest :返回k个最佳特征
  • SelectPercentile :返回表现最佳的前r%个特征
  • chi2 : 卡方检验, 计算单个特征和某一类别之间相关性

降维 sklearn.decomposition

  • PCA:主成分分析算法(Principal Component Analysis)目的是找到能用较少信息描述数据集的特征组合
  • TruncatedSVD:通过奇异值分解(SVD)执行线性降维。
  • KernelPCA:核主成分分析(KPCA)通过使用内核减少非线性维度。

模型评估 sklearn.metrics

包含评分方法、性能度量、成对度量和距离计算

分类结果度量参数大多是y_true和y_pred。

  • accuracy_score:分类准确度
  • condusion_matrix :分类混淆矩阵
  • classification_report:分类报告
  • precision_recall_fscore_support:计算精确度、召回率、f1
  • jaccard_similarity_score:计算jcaard相似度
  • hamming_loss:计算汉明损失
  • hinge_loss:计算hinge损失
  • zero_one_loss:0-1损失
  • log_loss:计算log损失

回归结果度量

  • explained_varicance_score:可解释方差的回归评分函数
  • mean_absolute_error:平均绝对误差
  • mean_squared_error:平均平方误差

多标签度量

  • coverage_error:涵盖误差
  • label_ranking_average_precision_score:计算基于排名的平均误差 (LRAP)

聚类的度量

  • adjusted_mutual_info_score:调整的互信息评分
  • silhouette_score:所有样本的轮廓系数的平均值
  • silhouette_sample:所有样本的轮廓系数

交叉验证 sklearn.model_selection

  • KFold:K-Fold交叉验证迭代器。接收元素个数、fold数、是否清洗

  • LeaveOneOut:LeaveOneOut交叉验证迭代器

  • LeavePOut:LeavePOut交叉验证迭代器

  • LeaveOneLableOut:LeaveOneLableOut交叉验证迭代器

  • LeavePLabelOut:LeavePLabelOut交叉验证迭代器

  • LeaveOneOut(n) 相当于 KFold(n, n_folds=n) 相当于LeavePOut(n, p=1)

    LeaveP和LeaveOne差别在于leave的个数,测试集的尺寸。
    
  • train_test_split:分离训练集和测试集

  • cross_val_score:交叉验证评分

  • cross_val_predict:交叉验证的预测

网格搜索 sklearn.grid_search

搜索最佳参数
  • GridSearchCV:搜索指定参数网格中的最佳参数

  • ParameterGrid:参数网格

  • ParameterSampler:用给定分布生成参数的生成器

  • RandomizedSearchCV:超参的随机搜索

    通过best_estimator_.get_params()方法,获取最佳参数
    

多分类,多标签 sklearn.multiclass

  • OneVsRestClassifier:1-rest多分类(多标签)策略
  • OneVsOneClassifier:1-1多分类策略
  • OutputCodeClassifier:1个类用一个二进制码表示

朴素贝叶斯 sklearn.naive_bayes

朴素贝叶斯的特点是分类速度快,分类效果不一定是最好的。
  • GasussianNB:高斯分布的朴素贝叶斯

  • MultinomialNB:多项式分布的朴素贝叶斯

  • BernoulliNB:伯努利分布的朴素贝叶斯

    所谓使用什么分布的朴素贝叶斯,就是假设P(x_i|y)是符合哪一种分布
    

回归模型 sklearn.linear_model

回归算法中的最终结果是一个连续的数据值,输入值(属性值)是一个d维度的属性/数值向量
  • LinearRegression:普通最小二乘线性回归
  • ElasticNet:将L1和L2组合作为正则化器的线性回归
  • Lasso:使用L1作为正则化器(也称为Lasso)训练的线性模型
  • Ridge:具有l2正则化的线性最小二乘法

集成学习 sklearn.ensemble

弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(errorrate < 0.5)
  • AdaBoostClassifier(Regressor)算法会为每个样本赋予一个权重,每次用训练好的学习器标注/预测各个样本,如果某个样本点被预测的越正确,则将其权重降低;否则提高样本的权重。
  • ExtraTreesClassifier(Regressor)Extra Tree会随机的选择一个特征值来划分决策树
  • GradientBoostingClassifier(Regressor) GBDT也是迭代,但是GBDT要求弱学习器必须是CART模型,而且GBDT在模型训练的时候,是要求模型预测的样本损失尽可能的小。
  • IsolationForest 异常点检测
  • RandomForestClassifier(Regressor) RF算法在实际应用中具有比较好的特性,应用也比较广泛

K近邻 sklearn.neighbors

KNN
  • KNeighborsClassifier 实现k近邻投票的分类器
  • KNeighborsRegressor 基于k-近邻的回归,通过与训练集中的最近邻相关联的目标的局部插值来预测目标
  • KDTree 用于广义N点问题

决策树 sklearn.tree

决策树是一种预测模型,代表的是对象属性与对象值之间的映射关系
  • DecisionTreeClassifier(Regressor) 决策树

    决策树分为分类树和回归树,前者用于分类标签值,后者用于预测连续值,常用算法有ID3、C4.5、CART等
    

聚类 sklearn.cluster

聚类就是对大量未知标注的数据集,按照数据内部存在的数据特征将数据集划分为多个不同的类别,使类别内的数据比较相似,类别之间的数据相似度比较小,属无监督学习。
  • K-means:K-均值,是一种使用广泛的最基础的聚类算法
  • K-Means++ : 该算法和K-Means算法的区别主要在于初始的K个中心点的选择方面,K-Means算法使用随机给定的方式。
  • K-Means|| : 主要思路是改变每次遍历时候的取样规则,并非按照K-Means++算法每次遍历只获取一个样本,而是每次获取K个样本,重复该取样操作O(logn)次,然后再将这些抽样出来的样本聚类出K个点,最后使用这K个点作为K-Means算法的初始聚簇中心点。
  • MiniBatch K-Means:采用小规模的数据子集(每次训练使用的数据集是在训练算法的时候随机抽取的数据子集)减少计算时间,同时试图优化目标函数;Mini Batch K-Means算法可以减少K-Means算法的收敛时间,而且产生的结果效果只是略差于标准K-Means算法。
  • DBSCAN : 用一个点的ε邻域内的邻居点数衡量该点所在空间的密度,该算法可以找出形状不规则的cluster,而且聚类的时候事先不需要给定cluster的数量。

支持向量机 sklearn.svm

  • LinearSVC(SVR) : 线性支持向量分类。与参数kernel ='linear’的SVC类似,但是以liblinear而不是libsvm的形式实现,因此它在惩罚和损失函数的选择方面具有更大的灵活性,并且应该更好地扩展到大量样本。此类支持密集和稀疏输入,并且多类支持是根据one-vs-the-rest方案处理的。
  • SVC(SVR):该实现基于libsvm。拟合时间与样本数量成比例地缩放,适用于大型数据集。

估计器 estimator

  • fit() :训练算法,设置内部参数接收训练集和类别两个参数
  • predict() :预测测试集类别,参数为测试集

转换器 transformer

转换器用于数据预处理和数据转换
  • fit() :训练算法,设置内部参数
  • transform() :数据转换
  • fit_transform() :合并fit和transform两个方法

管道 sklearn.pipeline

  • 跟踪记录各步骤的操作(以方便地重现实验结果)
  • 对各步骤进行一个封装
  • 确保代码的复杂程度不至于超出掌控范围

scikit-learn扩展

通常继承sklearn.base下的类

  • BaseEstimator :估计器的基类
  • ClassifierMixin :分类器的混合类
  • ClusterMixin :聚类器的混合类
  • RegressorMixin :回归器的混合类
  • TransformerMixin :转换器的混合类
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在PyCharm中导入sklearn模块,您需要按照以下步骤操作: 1. 打开PyCharm并创建一个新项目。 2. 在项目中创建一个新的Python文件。 3. 在Python文件中,使用以下代码导入sklearn模块: from sklearn import * 4. 您现在可以使用sklearn模块中的函数和类来完成您的项目。 请注意,您需要先安装sklearn模块,然后才能在PyCharm中导入它。您可以使用pip或conda等包管理器来安装sklearn模块。 ### 回答2: Pycharm是一款集成开发环境,适用于Python编程语言。而scikit-learn是一款基于Python语言的机器学习库,其中包含了各种经典的机器学习算法。如果想要在Pycharm中使用sklearn模块,需要进行以下操作: 1. 安装scikit-learn 在Pycharm中安装scikit-learn的方法与在一般的Python环境中安装类似。可以通过pip或conda等包管理工具来安装。在Pycharm中,可以在左侧面板的Project Interpreter中选择相应的python解释器,然后点击“+”来安装需要的python包。 2. 导入scikit-learn 在Python代码中,要使用scikit-learn模块,需要使用import语句将其导入到代码中。在Pycharm中,创建一个新的工程或打开一个已有的工程,然后在代码文件的开头添加以下代码: from sklearn import [需要的模块] 其中,需要的模块可以根据需要进行选择。例如,如果想使用人工神经网络,可以这样导入: from sklearn.neural_network import MLPClassifier 3. 使用scikit-learn 安装和导入模块之后,可以在Python代码中使用scikit-learn的函数和类。例如,下面的代码展示了如何使用scikit-learn中的K-Means算法对数据进行聚类: from sklearn.cluster import KMeans import numpy as np X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) kmeans = KMeans(n_clusters=2, random_state=0).fit(X) print(kmeans.labels_) 以上代码导入了KMeans类和numpy库,生成一个随机的数据集X,并使用K-Means算法将其分成两个聚类,并打印每个样本应分配的类别。 总之,使用Pycharm导入scikit-learn模块的方法就是:安装scikit-learn,并使用import语句将需要的模块导入到代码中,然后使用其功能和函数实现相关的机器学习算法和应用。 ### 回答3: 对于初学者来说,想要在PyCharm中使用sklearn模块,可能会有些困难。但是,通过以下步骤,你可以轻松地将sklearn模块导入PyCharm。 步骤一:安装sklearn模块 首先,需要确保你的系统中已经安装了sklearn模块。这可以通过在终端中运行以下命令来完成: pip install -U scikit-learn 步骤二:打开PyCharm 打开PyCharm并创建一个新项目。 步骤三:打开项目设置 在PyCharm主界面的左侧面板上,单击项目名称,在弹出的下拉菜单中选择“Edit Configurations”。 步骤四:添加Python路径 在弹出的窗口中,将鼠标悬停在左下角的“+”符号上,然后单击“Python”。 在“Configuration”选项卡中,将“Name”设置为“sklearn”(或者任何喜欢的名称),然后选择适当的Python解析器。 在“Interpreter”选项卡中,单击右下角的齿轮图标,然后选择“Show All...”。 在下拉菜单中选择“System Interpreter”,然后单击“OK”。 步骤五:配置环境变量 在“Environment Variables”选项卡上,单击“...”,输入下面的代码并单击“OK”。 PYTHONPATH=$PYTHONPATH:/path/to/your/scikit-learn-installation 确保将“/path/to/your/scikit-learn-installation”替换为sklearn模块的实际路径。 步骤六:导入sklearn模块 现在可以在PyCharm中导入sklearn模块了。只需在Python文件中添加以下代码即可: import sklearn 如果一切顺利,你将能够使用所有的sklearn函数和类了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值