美文网首页etcPython之旅
scikit-learn安装入门 开源机器学习工具scikit-

scikit-learn安装入门 开源机器学习工具scikit-

作者: hzyido | 来源:发表于2015-07-26 00:18 被阅读260次

    scikit-learn安装入门 开源机器学习工具scikit-learn入门

    Scikit-Learn是基于python的机器学习模块,基于BSD开源许可证。这个项目最早由DavidCournapeau 在2007 年发起的,目前也是由社区自愿者进行维护。

    Scikit-Learn的官方网站是http://scikit-learn.org/stable/,在上面可以找到相关的Scikit-Learn的资源,模块下载,文档,例程等等。

    Scikit-Learn的安装需要numpy,scipy,matplotlib等模块,windows用户可以到http://www.lfd.uci.edu/~gohlke/pythonlibs直接下载编译好的安装包以及依赖,也可以到这个网站下载http://sourceforge.jp/projects/sfnet_scikit-learn/

    scikit-learn的基本功能主要被分为六个部分,分类,回归,聚类,数据降维,模型选择,数据预处理,具体可以参考官方网站上的文档。

    对于具体的机器学习问题,通常可以分为三个步骤,数据准备与预处理,模型选择与训练,模型验证与参数调优,这里以逻辑回归模型为例说明。

    scikit-learn支持多种格式的数据,包括经典的iris数据,LibSVM格式数据等等。为了方便起见,推荐使用LibSVM格式的数据,详细见LibSVM的官网。

    from sklearn.datasets importload_svmlight_file,导入这个模块就可以加载LibSVM模块的数据,

    t_X,t_y=load_svmlight_file("filename")

    机器学习模型也要导入相应的模块,逻辑回归模型在下面的模块中。

    from sklearn.linear_modelimport LogisticRegression

    regressionFunc =LogisticRegression(C=10, penalty='l2', tol=0.0001)

    train_sco=regressionFunc.fit(train_X,train_y).score(train_X,train_y)

    test_sco=regressionFunc.score(test_X,test_y)

    就可以完成模型的训练和测试了。

    为了选择更好地模型可以进行交叉实验,或者使用贪心算法进行参数调优。

    导入如下模块就可以,

    CV:

    from sklearn importcross_validation

    X_train_m, X_test_m,y_train_m, y_test_m = cross_validation.train_test_split(t_X,t_y, test_size=0.5,random_state=seed_i)

    regressionFunc_2.fit(X_train_m,y_train_m)

    sco=regressionFunc_2.score(X_test_m,y_test_m, sample_weight=None)

    GridSearch:

    from sklearn.grid_searchimport GridSearchCV

    tuned_parameters =[{'penalty': ['l1'], 'tol': [1e-3, 1e-4],

    'C': [1, 10, 100, 1000]},

    {'penalty': ['l2'], 'tol':[1e-3, 1e-4],

    'C': [1, 10, 100, 1000]}]

    clf =GridSearchCV(LogisticRegression(), tuned_parameters, cv=5, scoring=['precision','recall'])

    print(clf.best_estimator_)

    当然可以利用matplotlib绘制学习曲线,需要导入相应模块如下:

    from sklearn.learning_curveimport learning_curve,validation_curve

    核心代码如下,具体参见Scikit-Learn的官方文档:

    rain_sizes, train_scores,test_scores = learning_curve(

    estimator, X, y, cv=cv, n_jobs=n_jobs,train_sizes=train_sizes)

    train_scores, test_scores =validation_curve(

    estimator, X, y, param_name,param_range,

    cv, scoring, n_jobs)

    当然,Scikit-Learn中的机器学习模型非常丰富,包括SVM,决策树,GBDT,KNN等等,可以根据问题的类型选择合适的模型,更多内容请参阅官方文档。

    Machine Learning framework in Python   

    user_guide_0.16.1.pdf(日期: 2015-04-16, 大小: 55.5 MB)

    user_guide_0.16.0.pdf(日期: 2015-04-16, 大小: 55.5 MB)

    scikit-learn-0.16.1.win32-py3.4.exe(日期: 2015-04-15, 大小: 2.9 MB)

    scikit-learn-0.16.1.win-amd64-py2.7.exe(日期: 2015-04-15, 大小: 3.2 MB)

    scikit_learn-0.16.1-cp27-none-win32.whl(日期: 2015-04-15, 大小: 2.8 MB)

    相关文章

      网友评论

        本文标题:scikit-learn安装入门 开源机器学习工具scikit-

        本文链接:https://www.haomeiwen.com/subject/udrmqttx.html