Python使用sklearn库实现的各种分类算法简单应用小结

yipeiwu_com7年前Python基础

本文实例讲述了Python使用sklearn库实现的各种分类算法简单应用。分享给大家供大家参考,具体如下:

KNN

from sklearn.neighbors import KNeighborsClassifier
import numpy as np
def KNN(X,y,XX):#X,y 分别为训练数据集的数据和标签,XX为测试数据
  model = KNeighborsClassifier(n_neighbors=10)#默认为5
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted

SVM

from sklearn.svm import SVC
def SVM(X,y,XX):
  model = SVC(c=5.0)
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted

SVM Classifier using cross validation

def svm_cross_validation(train_x, train_y):
  from sklearn.grid_search import GridSearchCV
  from sklearn.svm import SVC
  model = SVC(kernel='rbf', probability=True)
  param_grid = {'C': [1e-3, 1e-2, 1e-1, 1, 10, 100, 1000], 'gamma': [0.001, 0.0001]}
  grid_search = GridSearchCV(model, param_grid, n_jobs = 1, verbose=1)
  grid_search.fit(train_x, train_y)
  best_parameters = grid_search.best_estimator_.get_params()
  for para, val in list(best_parameters.items()):
    print(para, val)
  model = SVC(kernel='rbf', C=best_parameters['C'], gamma=best_parameters['gamma'], probability=True)
  model.fit(train_x, train_y)
  return model

LR

from sklearn.linear_model import LogisticRegression
def LR(X,y,XX):
  model = LogisticRegression()
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted

决策树(CART)

from sklearn.tree import DecisionTreeClassifier
def CTRA(X,y,XX):
  model = DecisionTreeClassifier()
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted

随机森林

from sklearn.ensemble import RandomForestClassifier
def CTRA(X,y,XX):
  model = RandomForestClassifier()
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted

GBDT(Gradient Boosting Decision Tree)

from sklearn.ensemble import GradientBoostingClassifier
def CTRA(X,y,XX):
  model = GradientBoostingClassifier()
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted

朴素贝叶斯:一个是基于高斯分布求概率,一个是基于多项式分布求概率,一个是基于伯努利分布求概率。

from sklearn.naive_bayes import GaussianNB
from sklearn.naive_bayes import MultinomialNB
from sklearn.naive_bayes import BernoulliNB
def GNB(X,y,XX):
  model =GaussianNB()
  model.fit(X,y)
  predicted = model.predict(XX)
  return predicted
def MNB(X,y,XX):
  model = MultinomialNB()
  model.fit(X,y)
  predicted = model.predict(XX
  return predicted
def BNB(X,y,XX):
  model = BernoulliNB()
  model.fit(X,y)
  predicted = model.predict(XX
  return predicted

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python中的heapq模块源码详析

Python中的heapq模块源码详析

起步 这是一个相当实用的内置模块,但是很多人竟然不知道他的存在——笔者也是今天偶然看到的,哎……尽管如此,还是改变不了这个模块好用的事实 heapq 模块实现了适用于Python列表的...

python开发简易版在线音乐播放器

在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Js...

用 Python 连接 MySQL 的几种方式详解

用 Python 连接 MySQL 的几种方式详解

尽管很多 NoSQL 数据库近几年大放异彩,但是像 MySQL 这样的关系型数据库依然是互联网的主流数据库之一,每个学 Python 的都有必要学好一门数据库,不管你是做数据分析,还是网...

Python使用Shelve保存对象方法总结

Shelve是一个功能强大的Python模块,用于对象持久性。搁置对象时,必须指定一个用于识别对象值的键。通过这种方式,搁置文件成为存储值的数据库,其中任何一个都可以随时访问。 Pyth...

pandas 将list切分后存入DataFrame中的实例

如下所示: #-*- coding:utf-8 -*- import random import pandas as pd import numpy as np list=[1,2,...