Easy-Classify是一个基于python的sklearn包,自动生成二分类Excel实验报告和ROC值的小脚本,是二分类集成分类器的良好解决方案。分类器目前集成:
Nearest Neighbors
Bagging
GradientBoosting
SGD
LibSVM
Linear SVM
SMO
LinearSVC
Decision Tree
Random Forest
AdaBoost
Naive Bayes
Neural Network
......
python 2.7及其基础科学计算包numpy、scipy、pandas;
python的scikit-learn包用于跑分类器:
pip install scikit-learn
python的scikit-neuralnetwork包用于跑神经网络:
pip install scikit-neuralnetwork
python的xlwt用于写入excel结果报告:
pip intall xlwt
输入:包含全部正反例的libsvm或arff格式文件,支持多文件混合输入。文件正反例标签为{0,1},arff格式为weka软件默认格式,libsvm格式如:
1 1:7.964601769911504 2:0.8849557522123894 3:1.1799410029498525 0 1:9.583333333333334 2:0.8333333333333334 3:4.1666666666666660 1 1:6.427423674343867 2:0.8569898232458489 3:5.9989287627209430 0 1:12.50000000000000 2:2.2727272727272730 3:5.1136363636363640
输出:
easy_classify.py: 输出Excel实验表格,如results.xls文件所示
easy_roc.py: 输出pdf格式的roc曲线图数据表,如ROC.xls文件所示
必选参数:
# 交叉验证如:python easy_classify.py -i train.libsvm -c 10 # 训练测如:python easy_classify.py -i train.libsvm -t 0.25
-i
:输入的arff或libsvm格式文件,支持混输。如:-i train.libsvm,train2.arff
,注意文件之间用英文,
连接;
-c
或-t
:-c
为交叉验证模式,值为交叉验证折数,如-c 5
,默认为5;-t
为训练测试模式,值为训练集测试集分割比例,如-t 0.33
,默认为0.33.
可选参数:
-o
:指定输出excel文件名。默认为results.xls。
-s
:是否寻找最佳分类器参数。0
为不寻找,1
为寻找。默认为0
。
-m
:是否并行运算,1GB以上大数据集不推荐使用。0
为单线程运算,1
为多线程并行运算,线程数是同时运行的分类器数,适合CPU和内存资源强大的用户。默认为1
。
帮助:
python easy_classify.py -h
交叉验证:
python easy_roc.py -i {input_file.libsvm} -c {int: cross validate folds} # 单文件命令如:python easy_roc.py -i train.libsvm -c 5 # 多文件命令如:python easy_roc.py -i train.libsvm,train2.libsvm -c 5
帮助:
python easy_roc.py -h
2016-08-08,version 0.20:
完成基本功能框架,集成主要分类器
自动生成测试报告
支持并行
2016-08-12,version 0.40:
增加神经网络等更多分类器
增加分类器参数自动调优
支持多种文件同时输入
2016-09-15,version 0.50:
增加ROC曲线图输出数据
2016-10-26,version 0.60:
更好地支持并行
增加参数可选
修复一些bug
In this lesson, we will learn how to train a Naive Bayes classifier or a Logistic Regression classifier - basic machine learning algorithms - in order to classify text into categories. var natural =
Image classification and object detection in images are hot topics these days, thanks to a combination of improvements in algorithms, datasets, frameworks, and hardware. These improvements democratize
Key Features: • Classify the words • Provide pictures to aid learning • Provide male, female standard both utterances • Listening, speaking, reading and writing all aspects of learning words • Play sp
Here has a document about all Watson API : http://slideshare.net/huiwenhan/ibm-cognitive-service-introduction For development ,Watson provides SDK ,it is more easy to use SDK to develop than the origi
# -*- coding: utf-8 -*- """ Created on Thu Jan 21 11:33:22 2021 根据文件名筛选将混合在同一文件夹中的图片分配到不同的文件夹中 """ import os import shutil from PIL import Image import numpy as np path = ' /zy/task/' newpath0=' /d
问题内容: 我问自己关于sklearn中的fit方法的各种问题。 问题1:当我这样做时: 在此过程中,变量模型的内容是否发生任何变化? 问题2:当我这样做时: svd_1怎么了?换句话说,svd_1已经安装好了,我又重新安装了它,那么它的组件正在发生什么? 问题答案: 问题1:在此过程中,变量模型的内容是否发生任何变化? 是。该fit方法修改对象。并且它返回对该对象的引用。因此,保重!在第一个例子
问题内容: 我正在运行一些动态编程代码(试图通过暴力破解来证明Collatz猜想= P),并且正在使用一个dict来存储我已经计算出的链的长度。显然,它在某个时刻耗尽了内存。有什么简单的方法可以使用a的某种变体,当它的空间不足时,该变体会将页面的一部分分页到磁盘上?显然,这将比内存中的指令慢,并且可能最终会占用我的硬盘空间,但这可能适用于其他并非徒劳的问题。 我意识到基于磁盘的字典几乎是一个数
本文向大家介绍sklearn+python:线性回归案例,包括了sklearn+python:线性回归案例的使用技巧和注意事项,需要的朋友参考一下 使用一阶线性方程预测波士顿房价 载入的数据是随sklearn一起发布的,来自boston 1993年之前收集的506个房屋的数据和价格。load_boston()用于载入数据。 输出内容为: 可以看到测试集上准确率并不高,应该是欠拟合。 使用多项式做线
数据帧: df1: df2: 我想将df1中的“col1、col2、col3、col4、col5、col6、col7”列值与df2中的“mapping_value”列相匹配,并在df1中创建一个名为“Scientific value”的新列,该列将包含来自df2中“Scientific value”列的条目。 输出: 谢谢
问题所在 一周中的每一天我都有一个变量,该变量包含一个我要执行的批处理文件。 我有大部分的代码,我只是不知道如何有变量的变化基于今天的工作日。我甚至有使工作日出现的代码,但我不知道如何使用它来执行基于今天的一天的批处理文件。 代码如下: 谢谢你抽出时间,
auto-sklearn是一个自动化的机器学习工具包,是scikit-learn估算器的直接替代品: >>> import autosklearn.classification>>> cls = autosklearn.classification.AutoSklearnClassifier()>>> cls.fit(X_train, y_train)>>> predictions = cls.p