Python有大量广泛应用于数据科学的软件包,其中部分工具旨在实现机器学习算法。我将介绍一些新的软件包,您以前可能从未听说过这些工具,或者用得很少。这些库使机器学习算法的选择变得更快和更容易。如果您想了解更多重要的机器学习Python库,请继续阅读,它们并不是scikit-learn,TensorFlow。我们将讨论PyCaret,pickle和Imbalanced-learn。
本文来自《数据黑客》,登录官网可阅读更多精彩资讯和文章。
数据黑客 - 专注金融大数据的内容聚合和数据聚合平台finquanthub.comPyCaret
PyCaret能够用更少的代码来实现机器学习算法,选择不同的算法也非常简单。尽管有很多公司致力于自动化机器学习模型,但我认为PyCaret是最好的开源工具。
PyCaret入门教程
以下是在Jupyter Notebook中实现PyCaret建模的简单教程。您也可以实现其他功能,例如设置不同的参数,Feature Selection
,PCA Method
等等。您还可以轻松的创建图表以对比特征重要性。
# install
!pip install pycaret
#read in data
df = data.sample(frac=0.8, random_state=42)
data_unseen = data.drop(data.index)
df.reset_index(drop=True, inplace=True)
data_unseen.reset_index(drop=True, inplace=True)
#import
from pycaret.regression import *
#setup
reg_example = setup(data = df, target = 'what_you_are_trying_to_predict', session_id=1)
#compare your models
models_comparison = compare_models()
#create your model
model = create_model('xgboost')
#tune your model
tuned_model = tune_model(model)
优势
- 容易上手,使用简单
- 提供了很棒的数据可视化
- 帮助你向项目方解释复杂的机器学习模型
- 并行比较几乎所有机器学习算法
PyCaret充当了所有机器学习算法的比较器,选择器和创建器。
Pickle
接下来介绍pickle,它可以序列化机器学习模型,便于共享,在需要模型时直接加载便可使用模型预测新数据。
Pickle入门教程
#import
import pickle
#model name
filename = ‘model.pkl’
#save model
with open(filename, 'wb') as file:
pickle.dump(model, file)
#load model
with open(filename, 'rb') as file:
pkl_model = pickle.load(file)
#score model
score = pkl_model.score(X_test, y_test)
#predict with pkl'd model
predictions = pkl_model.predict(X_test)
优势
- 容易上手,使用简单
- 模型重用,需要时直接加载pickle模型即可使用
- 在团队成员间共享模型
pickle是在小数据集上练习部署和重用机器学习模型的最佳方法。
Imbalanced-learn
imbalanced-learn能够在数据不平衡或小样本的情况下提高模型准确性。其中一个主要用途是通过SMOTE
/ KMeansSMOTE
和RandomOverSampler
等算法实现重采样。
SMOTE代表合成少数族裔重采样技术。在此示例中,您将生成类似于少数数据的新数据。您还可以指定大多数或特定样本的欠采样,以使将被摄入机器学习算法的数据集更加平衡。创建新的合成样本的方法是查看附近的类并在它们之间画一条线,并在该线上随机创建一个新点。这意味着数据是新的,但是落在当前点和附近的点之间。
Imbalanced-learn入门教程
#import
from imblearn.over_sampling import SMOTE
#set the sampler
sm = SMOTE(random_state=42)
#apply sampler to current dataset and save the new, appended data to original data
X_oversampled, y_oversampled = sm.fit_resample(X, y)
优势
- 使用方便
- 处理不平衡数据集
- 多种不同用途的采样方法
- 欠采样(under-sampling)和过采样(over-sampling)
- 集成方法
- Keras批处理生成器
- TensorFlow批处理生成器
- 管道和指标
结论
目前有很多机器学习库,程序包,模块,平台和框架可供选择,很多文章都做过详尽的论述。我想介绍我个人认为最好且独一无二的工具,希望对刚接触机器学习的新手有所帮助。
来源:Medium数据黑客 - 专注金融大数据的内容聚合和数据聚合平台finquanthub.com
作者:Matt Przybyla
翻译校对:数据黑客
原文标题:The Top 3 Machine Learning Libraries
数据黑客:专注金融大数据,聚合全网最好的资讯和教程,提供开源数据接口。
我们聚合全网最优秀的资讯和教程:
- 金融大数据
- 机器学习/深度学习
- 量化交易
- 数据工程
- 编程语言,Python,R,Julia,Scala,SQL
我们提供开源数据接口:
- 下载国内和国外海量金融数据
- API接口,将数据整合到您的平台