APP下载
报价宝  ›  科技  › 

基于Scikit-Learn库的机器学习演算法程式设计入门

报价宝 来源:baojiabao.com 发布时间:2019-09-19 17:05:00 11月15日更新
报价宝综合消息基于Scikit-Learn库的机器学习演算法程式设计入门

Scikit-Learn是一个Python机器学习库。尽管当前深度学习发展火热,Tensorflow、PyTorch和MXNet之类的框架很流行。但是并不是所有的资料探勘任务都需要深度学习来解决。在资料规模有限的情况下,传统机器学习算法如Random Forest、Regression等都有着非常好的效果。Scikit-Learn在传统机器学习算法的支撑方面非常完善,而且效率和准确性也都很好,是非常优秀的机器学习算法Python库。

Scikit-Learn相关资讯

Scikit-Learn的主要特点包括:

简单有效的资料探勘和资料分析工具可供所有人访问,并可在各种环境中重复使用基于NumPy,SciPy和matplotlib构建开源,商业上可用 - BSD许可证

Scikit-Learn支援的算法也很多,包括:

分类:SVM/最近邻/random forest等

回归:SVR/Ridge Regression等

聚类:K-Means/Spectral Clustering等

维度约减:PCA/Non-Negative Matrix Factorizaion等

模型选择:Grid Search/Cross Validation

预处理等。

Scikit-Learn使用

这个库的使用非常简单。核心步骤基本都是一样。我们举个例子,假设我们有训练资料,X、y,其中X是特征资料,y是标签资料。那么我们可以如下方式使用。

1、汇入相关的包

这里我们汇入了多个模型了

from sklearn.model_selection import train_test_split

from sklearn import metrics

rom sklearn.linear_model import LogisticRegression

from sklearn.ensemble import GradientBoostingClassifier, RandomForestClassifier

1、划分训练资料和验证资料集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

这里的X_train/y_train就是训练的资料特征和标签,X_test和y_test就是测试集的特征和标签。

2、建立模型

这里我们列举几种分类模型,我们只保留了RandomForest,其他模型都注释了,只是展示一下使用方法,模型的引数也在这里设定:

# model = LogisticRegression(random_state=0, solver='lbfgs', multi_class='multinomial')

# model = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)

# model = svm.SVC(gamma='scale', decision_function_shape='ovo')

model = RandomForestClassifier(n_estimators=30, max_depth=5, min_samples_split=2, random_state=0)

3、模型训练

模型训练很简单,所有的模型都使用fit方法进行训练,训练的结果可以得出分数。

model.fit(X_train, y_train)

score = model.score(X_train, y_train)

4、模型使用和评价

这里如果我们要用模型预测,也很简单,直接使用predict方法就好。评价当然也是顺便了:

predicted = model.predict(X_test)

# print(metrics.accuracy_score(y_test, predicted))

probs = model.predict_proba(X_test)

# print(metrics.roc_auc_score(y_test, probs[:, 1]))

总结

以上就是Scikit-Learn的使用和简介,非常容易。在初步尝试探索资料的时候,它也是极其合适的。可以很快的看到各个经典算法的效果。非常值得学习。当然,他也提供了超引数搜寻的方法等。这个以后可以继续讲解一下。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 笔记本电脑价格 电视机价格 华为手机价格