欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)基于SVM的分類器的方法

 更新時間:2019年07月19日 11:58:35   作者:Luove  
這篇文章主要介紹了Python實現(xiàn)基于SVM的分類器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文代碼來之《數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》,在此基礎(chǔ)上補充完善了一下~

代碼是基于SVM的分類器Python實現(xiàn),原文章節(jié)題目和code關(guān)系不大,或者說給出已處理好數(shù)據(jù)的方法缺失、源是圖像數(shù)據(jù)更是不見蹤影,一句話就是練習(xí)分類器(▼㉨▼メ)

源代碼直接給好了K=30,就試了試怎么選的,挑選規(guī)則設(shè)定比較單一,有好主意請不吝賜教喲

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 12 12:19:34 2018

@author: Luove
"""
from sklearn import svm
from sklearn import metrics
import pandas as pd 
import numpy as np
from numpy.random import shuffle
#from random import seed
#import pickle #保存模型和加載模型
import os


os.getcwd()
os.chdir('D:/Analyze/Python Matlab/Python/BookCodes/Python數(shù)據(jù)分析與挖掘?qū)崙?zhàn)/圖書配套數(shù)據(jù)、代碼/chapter9/demo/code')
inputfile = '../data/moment.csv'
data=pd.read_csv(inputfile)

data.head()
data=data.as_matrix()
#seed(10)
shuffle(data) #隨機重排,按列,同列重排,因是隨機的每次運算會導(dǎo)致結(jié)果有差異,可在之前設(shè)置seed
n=0.8
train=data[:int(n*len(data)),:]
test=data[int(n*len(data)):,:]

#建模數(shù)據(jù) 整理
#k=30 
m=100
record=pd.DataFrame(columns=['acurrary_train','acurrary_test']) 
for k in range(1,m+1):
  # k特征擴大倍數(shù),特征值在0-1之間,彼此區(qū)分度太小,擴大以提高區(qū)分度和準(zhǔn)確率
  x_train=train[:,2:]*k
  y_train=train[:,0].astype(int)
  x_test=test[:,2:]*k
  y_test=test[:,0].astype(int)
  
  model=svm.SVC()
  model.fit(x_train,y_train)
  #pickle.dump(model,open('../tmp/svm1.model','wb'))#保存模型
  #model=pickle.load(open('../tmp/svm1.model','rb'))#加載模型
  #模型評價 混淆矩陣
  cm_train=metrics.confusion_matrix(y_train,model.predict(x_train))
  cm_test=metrics.confusion_matrix(y_test,model.predict(x_test))
  
  pd.DataFrame(cm_train,index=range(1,6),columns=range(1,6))
  accurary_train=np.trace(cm_train)/cm_train.sum()   #準(zhǔn)確率計算
#  accurary_train=model.score(x_train,y_train)             #使用model自帶的方法求準(zhǔn)確率
  pd.DataFrame(cm_test,index=range(1,6),columns=range(1,6))
  accurary_test=np.trace(cm_test)/cm_test.sum()
  record=record.append(pd.DataFrame([accurary_train,accurary_test],index=['accurary_train','accurary_test']).T)

record.index=range(1,m+1)
find_k=record.sort_values(by=['accurary_train','accurary_test'],ascending=False) # 生成一個copy 不改變原變量
find_k[(find_k['accurary_train']>0.95) & (find_k['accurary_test']>0.95) & (find_k['accurary_test']>=find_k['accurary_train'])]
#len(find_k[(find_k['accurary_train']>0.95) & (find_k['accurary_test']>0.95)])
''' k=33
  accurary_train accurary_test
33    0.950617    0.95122
'''
''' 計算一下整體 
 accurary_data
 0.95073891625615758
'''
k=33
x_train=train[:,2:]*k
y_train=train[:,0].astype(int)
model=svm.SVC()
model.fit(x_train,y_train)
model.score(x_train,y_train)
model.score(datax_train,datay_train)
datax_train=data[:,2:]*k
datay_train=data[:,0].astype(int)
cm_data=metrics.confusion_matrix(datay_train,model.predict(datax_train))
pd.DataFrame(cm_data,index=range(1,6),columns=range(1,6))
accurary_data=np.trace(cm_data)/cm_data.sum()
accurary_data

REF:

《數(shù)據(jù)分析與挖掘?qū)崙?zhàn)》

源代碼及數(shù)據(jù)需要可自?。?a target="_blank" rel="external nofollow" >https://github.com/Luove/Data

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python3.x檢查內(nèi)存可用大小的兩種實現(xiàn)

    Python3.x檢查內(nèi)存可用大小的兩種實現(xiàn)

    本文將介紹如何使用Python 3實現(xiàn)檢查Linux服務(wù)器內(nèi)存可用大小的方法,包括使用Python標(biāo)準(zhǔn)庫實現(xiàn)和使用Linux命令實現(xiàn)兩種方式,感興趣可以了解一下
    2023-05-05
  • python中的extend功能及用法

    python中的extend功能及用法

    Python中的extend()方法用于在列表末尾一次性追加另一個列表中的多個值,這篇文章主要介紹了python中的extend功能及用法,需要的朋友可以參考下
    2023-07-07
  • Python實現(xiàn)K-近鄰算法的示例代碼

    Python實現(xiàn)K-近鄰算法的示例代碼

    k-近鄰算法(K-Nearest Neighbour algorithm),又稱 KNN 算法,是數(shù)據(jù)挖掘技術(shù)中原理最簡單的算法。本文將介紹實現(xiàn)K-近鄰算法的示例代碼,需要的可以參考一下
    2022-09-09
  • 詳解Python NumPy中矩陣和通用函數(shù)的使用

    詳解Python NumPy中矩陣和通用函數(shù)的使用

    在NumPy中,矩陣是ndarray的子類,與數(shù)學(xué)概念中的矩陣一樣,NumPy中的矩陣也是二維的,可以使用 mat 、 matrix 以及 bmat 函數(shù)來創(chuàng)建矩陣。本文將詳細(xì)講解NumPy中矩陣和通用函數(shù)的使用,感興趣的可以了解一下
    2022-06-06
  • Python實現(xiàn)端口掃描器的示例代碼

    Python實現(xiàn)端口掃描器的示例代碼

    本文主要介紹了Python實現(xiàn)端口掃描器,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • python進程間通信的項目實踐

    python進程間通信的項目實踐

    本文主要介紹了python進程間通信的項目實踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python實現(xiàn)簡易凱撒密碼的示例代碼

    Python實現(xiàn)簡易凱撒密碼的示例代碼

    密碼的使用最早可以追溯到古羅馬時期,《高盧戰(zhàn)記》有描述愷撒曾經(jīng)使用密碼來傳遞信息,即所謂的“愷撒密碼”。本文將利用Python實現(xiàn)簡易的凱撒密碼,感興趣的可以了解一下
    2022-09-09
  • Python 中下劃線的幾種用法(_、_xx、xx_、__xx、__xx__)

    Python 中下劃線的幾種用法(_、_xx、xx_、__xx、__xx__)

    本文主要介紹了Python 中下劃線的幾種用法(_、_xx、xx_、__xx、__xx__),詳細(xì)的介紹了這幾種下劃線的用處,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Anaconda和ipython環(huán)境適配的實現(xiàn)

    Anaconda和ipython環(huán)境適配的實現(xiàn)

    這篇文章主要介紹了Anaconda和ipython環(huán)境適配的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python json轉(zhuǎn)字典字符方法實例解析

    Python json轉(zhuǎn)字典字符方法實例解析

    這篇文章主要介紹了Python json轉(zhuǎn)字典字符代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04

最新評論