(2018-03-22)0004.Python基礎(chǔ)入門(mén)班_第4課、面向?qū)ο蠡A(chǔ)

上一篇文章:(2018-03-21)0003.Python基礎(chǔ)入門(mén)班_第3課、容器以及容器的訪問(wèn)使用

關(guān)于本人

個(gè)人信息:微博
寫(xiě)作區(qū):個(gè)人博客、簡(jiǎn)書(shū)開(kāi)源中國(guó)、豆瓣、掘金、CSDN
代碼管理區(qū):碼云、GitHubGitBook、Python_NoteBook(這個(gè)僅僅限于自己的本地搭建)
我的網(wǎng)絡(luò)制作書(shū)籍:Python3Book(基于廖雪峰的Python教程編寫(xiě)成書(shū))
july_Oneline(基于七月在線培訓(xùn)機(jī)構(gòu)的教程編寫(xiě)成書(shū))、LineCode刷題總結(jié)__GitBookEditor網(wǎng)絡(luò)書(shū)籍


推薦網(wǎng)站

1.第三方庫(kù)__scipy
2.第三方庫(kù)__sklearn(安裝之前需要安裝,numpy、scipy)
3.什么是ML
4.什么是測(cè)試集
5.sklearn的作用


推薦軟件

無(wú)


推薦書(shū)籍

無(wú)


第4課 面向?qū)ο蠡A(chǔ)


一、類(lèi)和對(duì)象
百度維基

類(lèi)和對(duì)象(class)是兩種以計(jì)算機(jī)為載體的計(jì)算機(jī)語(yǔ)言的合稱。
對(duì)象是對(duì)客觀事物的抽象,類(lèi)是對(duì)對(duì)象的抽象。類(lèi)是一種抽象的數(shù)據(jù)類(lèi)型。
它們的關(guān)系是,對(duì)象是類(lèi)的實(shí)例,類(lèi)是對(duì)象的模板。
對(duì)象是通過(guò)new className產(chǎn)生的,用來(lái)調(diào)用類(lèi)的方法;類(lèi)的構(gòu)造方法 。

自身理解

人類(lèi) 是 類(lèi)
我們每個(gè)人 都是對(duì)象。
是通過(guò)人類(lèi)演化而成的一個(gè)個(gè)對(duì)象

代碼展示

#一、類(lèi)和對(duì)象
print('一、類(lèi)和對(duì)象')
class Foo:
    # 這里我們可以創(chuàng)建一個(gè)類(lèi)級(jí)別的變量
    # 它不會(huì)隨著由此類(lèi)創(chuàng)建的變量而變化
    name = 'lyh'

    def bar(self): # 第一參數(shù)的指向
        print('Bar')
    def hello(self,name):
        print('you are %s' %self.name)
        print('i am %s'%name)
        print('\n')
    pass

# 根據(jù)Foo創(chuàng)建的對(duì)象
obj = Foo()
obj2 = Foo() 
print(obj)
obj.bar()
obj.hello('lyh')
obj2.hello('h')
print('!end!\n')

控制臺(tái)打印

一、類(lèi)和對(duì)象
<__main__.Foo object at 0x013D7CB0>
Bar
you are lyh
i am lyh


you are lyh
i am h


!end!

二、構(gòu)造函數(shù)
百度維基

構(gòu)造函數(shù):是一種特殊的方法。
只要用來(lái)在創(chuàng)建對(duì)象時(shí) 初始化對(duì)象,即為對(duì)象成員變量賦初始值

自身理解

自己創(chuàng)建一些函數(shù)

代碼展示

#二、構(gòu)造函數(shù)
'構(gòu)造函數(shù):是一種特殊的方法。只要用來(lái)在創(chuàng)建對(duì)象時(shí) 初始化對(duì)象,即為對(duì)象成員變量賦初始值'
print('二、構(gòu)造函數(shù)')
class Foo:
    name = 'l'
    def __init__(self): #這就是構(gòu)造函數(shù),它的職責(zé)是在模型創(chuàng)建的初期,就完成一些動(dòng)作
        # 簡(jiǎn)單的說(shuō)就是,自定義的初始化步驟:
        # 同樣,他需要self來(lái)指代本身這個(gè)class
        self.name = 'll'

    def __init__(self,name2): #你可以在這里附加上一些參數(shù)
        # 這些參數(shù)僵尸你創(chuàng)建一個(gè)Foo類(lèi)時(shí)的必要條件
        self.name = name2

    def hello(self,name):
        print('you are %s' %self.name)
        print('i am %s'%name)

# obj = Foo()
obj.hello('a')
obj2 = Foo('lll')
obj.hello('b')
print('!end!\n')

控制臺(tái)打印

二、構(gòu)造函數(shù)
you are lyh
i am a


you are lyh
i am b


!end!

三、訪問(wèn)限制
自身理解

能不能訪問(wèn)

代碼展示

#三、訪問(wèn)限制
'''
變量 是否能給外界訪問(wèn)
如果不能 怎么在創(chuàng)建類(lèi)的時(shí)候設(shè)置

在變量的前面添加兩個(gè)__
'''
print('三、訪問(wèn)限制')
class Stundet:
    def __init__(self,name,age):
        # 外界能訪問(wèn)的變量
        # self.name = name
        # self.age = age    

        # 外界不能訪問(wèn)的變量 
        self.__name = name # AttributeError: 'Stundet' object has no attribute 'name'
        self.__age = age    
    def detail(self):
        print(self.__name)
        print(self.__age)
Lyh = Stundet('Lyh',12)
Lyh.age = 20 
Lyh.detail()
print('!end!\n')

控制臺(tái)打印

三、訪問(wèn)限制
Lyh
12
!end!

四、Getter + Setter
getter 和 setter的作用

setter方法,是對(duì)象引用調(diào)用setter方法,并傳入?yún)?shù)。
getter方法,對(duì)象調(diào)用getter方法,獲取對(duì)象屬性的值。

自身理解

get 獲取對(duì)象屬性值
set 設(shè)置對(duì)象屬性值

代碼展示

#四、Getter + Setter
'''
如何確保安全,又能被外部修改變量
'''
print('四、Getter + Setter')
class Student(object): # (object),表示該類(lèi)是從哪個(gè)類(lèi)繼承下來(lái)的
    def get_name(self):
        return self.__name
    def get_age(self):
        return self.__age

    def set_age(self):
        self.__age = age
print('!end!\n')

控制臺(tái)打印

四、Getter + Setter
!end!

五、Python的面向?qū)ο笕筇匦浴ython的經(jīng)典類(lèi)和新類(lèi)(現(xiàn)在基本都是用新類(lèi))
封裝、繼承、多態(tài)的基本知識(shí)
自身理解

封裝:將一些東西收藏起來(lái)
繼承:子繼承父業(yè)
多態(tài):很多鐘表示狀態(tài)

代碼展示

#五、Python的面向?qū)ο笕筇匦?'''
封裝:指的是把內(nèi)容封裝到某個(gè)地方,用于日后調(diào)用
其實(shí)就是使用構(gòu)造方法將內(nèi)容封裝到對(duì)象中,
然后通過(guò)對(duì)象直接 或者self間接獲取被封裝的內(nèi)容

繼承:兒子繼承父親
爸爸有的兒子都有

多態(tài):

Python可以多類(lèi)繼承
'''
print('五、Python的面向?qū)ο笕筇匦?)
#1.封裝
class Student(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age
    def detail(self):
        print(self.name)
        print(self.age)
obj1 = Student('lyh',12)
print(obj1.name) # 直接調(diào)用obj1對(duì)象的name屬性
print(obj1.age) # 直接調(diào)用obj1對(duì)象的age屬性
obj1.detail() #自我調(diào)用
print('!~~~!\n')

#2.繼承
class PrimaryStudent(Student): #因?yàn)槭抢^承于學(xué)生類(lèi),所以我們卸載括號(hào)內(nèi)
    # 這里我們可以不寫(xiě)構(gòu)造函數(shù),于是我們就是直接引用Student的構(gòu)造函數(shù)
    def lol(self) : # 我們有一些新的獨(dú)有方法,會(huì)被疊加起來(lái)
        print('開(kāi)打開(kāi)打')
class CollegeStudent(Student):
    #改寫(xiě)父類(lèi)的構(gòu)造函數(shù)
    def __init__(self,name,age,gf):
        #于是爸爸的init會(huì)被直接 overwrite(重寫(xiě)掉)
        self.name = name
        self.age = age
        self.gf = gf
    def gf_detail(self):
        print(self.gf)

''''''
obj1 = PrimaryStudent('小了',3)
obj1.lol() #獨(dú)有方法
obj1.detail() #繼承與爸爸的方法
print('!~~~!\n')
obj2 = CollegeStudent('李',22,'H')
obj2.detail()
obj2.gf_detail()    
print('!~~~!\n')
# Python可以多類(lèi)繼承
class D:
    def bar(self):
        print('D.bar')
class C(D):
    def bar(self):
        print('C.bar')
class B(D):
    pass
class A(B,C): # A 繼承兩個(gè) 爸爸 B、C
    pass

a = A()
# -- 經(jīng)典類(lèi)
# 執(zhí)行bar方法時(shí)
# 首先去A類(lèi)中查找,如果A類(lèi)中沒(méi)有,則繼續(xù)去B類(lèi)中找,如果B沒(méi)用,
# 則繼續(xù)去D類(lèi)中找,如果D沒(méi)有,則繼續(xù)去C類(lèi)中找,如果還是沒(méi)有找到則報(bào)錯(cuò)
# 順序 A -> B -> D -> C # 注意 這是之前python2.2的經(jīng)典類(lèi)順序

# ** 新類(lèi)(python3.x)
# 首先去A類(lèi)中查找,如果A類(lèi)中沒(méi)有,則繼續(xù)去B類(lèi)中找,如果B沒(méi)用,
# 則繼續(xù)去C類(lèi)中找,如果C沒(méi)有,則繼續(xù)去D類(lèi)中找,如果還是沒(méi)有找到則報(bào)錯(cuò)
# 順序 A -> B -> C -> D # 注意 這是新類(lèi)順序
a.bar()

# 多態(tài)
'''
python 不支持多態(tài)并且也用不到多態(tài),多態(tài)的概念是應(yīng)用于java 和 C#這一類(lèi)強(qiáng)類(lèi)型語(yǔ)言
,而python 是 鴨子類(lèi)型
'''
class F1:
    pass
# 假設(shè) ,S1是我們的正統(tǒng)類(lèi),它繼承與根正苗紅的F1,
class S1(F1):
    def show(self):
        print('S1.show')
# S2是路人甲
class S2:
    def show(self):
        print('S2.show')
def Func(obj):
    obj.show()
s1_obj = S1()
s2_obj = S2()
Func(s1_obj)
Func(s2_obj)
print('!end!\n')

控制臺(tái)打印

五、Python的面向?qū)ο笕筇匦?lyh
12
lyh
12
!~~~!

開(kāi)打開(kāi)打
小了
3
!~~~!

李
22
H
!~~~!

C.bar
S1.show
S2.show
!end!

六、獲取對(duì)象信息(dir()的作用、實(shí)例對(duì)象和類(lèi)對(duì)象、模塊和包)
自身理解

獲取人、事物的信息

代碼展示

#六、獲取對(duì)象信息
print('六、獲取對(duì)象信息')
print(type(123))
print(type('str'))
print(type(None))
print(type(abs))

print('用語(yǔ)句進(jìn)行獲取對(duì)象信息')
# 用語(yǔ)句進(jìn)行獲取對(duì)象信息
print(type(123) == type(456))
print(type('123') == type('456'))
print(type('123') == type(456))
print(type('123') == type(str))
print(type([]) == type(list))

print('isinstance')
# isinstance : 可以告訴我們,一個(gè)對(duì)象是不是某種類(lèi)型(包含繼承關(guān)系)
class A:
    pass
class B(A):
    pass
class C(B):
    pass
k = A()
g = B()
y = C()
print(isinstance(y,C))
print(isinstance(y,B))

print('## 使用dir()')
## 使用dir()
'''
如果要獲取一個(gè)對(duì)象的所有屬性和方法,可以使用dir()函數(shù),
它會(huì)返回一個(gè)包含字符串的list
比如,獲取一個(gè)str對(duì)象的所有屬性和方法
'''
print(dir('ABC'))
print('ABC'.__len__())

# dir() 
'''
配合
getattr(),
setattr(),
hasattr() 有沒(méi)有這個(gè)屬性
'''
class MyObject:
    def __init__(self):
        self.x = 9
    def power(self):
        return self.x * self.x
obj = MyObject()

print(hasattr(obj,'x')) # 有沒(méi)有x這個(gè)屬性
print(hasattr(obj,'power')) # 有沒(méi)有power這個(gè)屬性
print(hasattr(obj,'y')) # 有沒(méi)有y這個(gè)屬性
print(setattr(obj,'y',19)) # 設(shè)置y這個(gè)屬性
print(getattr(obj,'y')) # 獲取y這個(gè)屬性
fn = getattr(obj,'power') # 獲取屬性'power'并賦值到變量Fn里面
print(fn()) # 調(diào)用 fn() 相當(dāng)于調(diào)用 obj.fn()

# 實(shí)例屬性 和 類(lèi)屬性
'''
類(lèi)創(chuàng)建的實(shí)例 可以任意綁定屬性
給實(shí)例 綁定屬性的方法是通過(guò) 實(shí)例變量,或者通過(guò)self變量
'''
class Student(object):
    name = 'Student' # 類(lèi)屬性
    def __init__(self,name):
        self.name = name # 實(shí)例屬性

s = Student('boy')
s.score = 90
print(s.name) 


class Student(object):
    name = 'Student' # 類(lèi)屬性
s = Student() # 創(chuàng)建實(shí)例s
print(s.name) # 打印name屬性,因?yàn)閷?shí)例并沒(méi)有name屬性,所以會(huì)執(zhí)行查找class的name屬性
print(Student.name) # 打印類(lèi)的name屬性
s.name = 'LYH' #給實(shí)例綁定name屬性
print(s.name) # 由于 實(shí)例屬性優(yōu)先級(jí)比類(lèi)屬性高,因此,他會(huì)屏蔽類(lèi)的name屬性
print(Student.name) # 但是類(lèi)屬性并未消失,用Student.name仍然可以訪問(wèn)
del s.name # 刪除實(shí)例的name屬性
print('123'+s.name) # 再次調(diào)用s.name 由于實(shí)例的name屬性沒(méi)有找到,類(lèi)的name屬性就顯示出來(lái)了



print('## 模塊 和 包')
## 模塊 和 包
'''
python的程序 由 包(package)、模塊(module) 和函數(shù)組成。
包是 由 一系列模塊組成的集合。
模塊是處理某一類(lèi)問(wèn)題的函數(shù) 和 類(lèi)的集合。

包 就是一個(gè)完成特定任務(wù)的工具。python提供了許多有用的工具包,如字符串處理、
圖形用戶接口、web應(yīng)用、圖形圖像處理等。
這些自帶的工具包和模塊安裝在python的安裝目錄下的Lib子目錄中
'''

# 包
'''
包將有聯(lián)系的模塊組織在一起,有效避免模塊名稱沖突問(wèn)題,讓?xiě)?yīng)用組織結(jié)構(gòu)更加清晰。
一個(gè)普通的python應(yīng)用程序的目錄結(jié)構(gòu):
app/
__init__.py
a/
__init__.py
a.py
b/
__init__.py
b.py

app是最頂層的包,a和b是它的子包,可以這樣導(dǎo)入
from app.a import a
from app.b.b import test
a.test()
test()

'''
# 模塊
'''
在python中一個(gè)文件可以被看成一個(gè)獨(dú)立模塊,而包對(duì)應(yīng)著文件夾。模塊把python代碼
分成一些有組織的代碼段,通過(guò)導(dǎo)入的方式實(shí)現(xiàn)代碼重用
import sys
print(sys.path)
'''
import sys
print(sys.path)
# 導(dǎo)入模塊
# import module1

#使用from-import語(yǔ)句導(dǎo)入模塊的屬性
# 單行導(dǎo)入
# from module import name1

#多行導(dǎo)入
# from module import name1,name2,name3
# from module import * # 導(dǎo)入所有
# 自定義導(dǎo)入模塊名稱
# from A import B as BoyFunc
print('!end!\n')

控制臺(tái)打印

六、獲取對(duì)象信息
<class 'int'>
<class 'str'>
<class 'NoneType'>
<class 'builtin_function_or_method'>
用語(yǔ)句進(jìn)行獲取對(duì)象信息
True
True
False
False
False
isinstance
True
True
## 使用dir()
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
3
True
True
False
None
19
81
boy
Student
Student
LYH
Student
123Student
## 模塊 和 包
['C:\\Users\\Hasee\\Desktop\\Python_七月在線\\01-Python課程___Python基礎(chǔ)入門(mén)班\\Code\\第4課 面向?qū)ο蠡A(chǔ)', 'C:\\Users\\Hasee\\AppData\\Local\\Programs\\Python\\Python35-32\\python35.zip', 'C:\\Users\\Hasee\\AppData\\Local\\Programs\\Python\\Python35-32\\DLLs', 'C:\\Users\\Hasee\\AppData\\Local\\Programs\\Python\\Python35-32\\lib', 'C:\\Users\\Hasee\\AppData\\Local\\Programs\\Python\\Python35-32', 'C:\\Users\\Hasee\\AppData\\Local\\Programs\\Python\\Python35-32\\lib\\site-packages']
!end!

七、實(shí)戰(zhàn)
自身理解

將學(xué)習(xí)的東西 用在戰(zhàn)場(chǎng)上。

代碼展示

print('七、實(shí)戰(zhàn)')
#七、實(shí)戰(zhàn)
'''
下載 sklearn 包
http://scikit-learn.org/stable/install.html

iris(鳶尾花)
http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_iris.html

在ML里面 
基本都會(huì) X 判斷 Y 的問(wèn)題
X 基本就是

Y 基本就是

ML:
機(jī)器學(xué)習(xí)[1]  (Machine Learning),是研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類(lèi)的學(xué)習(xí)行為,
以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身的性能。
它是人工智能的核心,是使計(jì)算機(jī)具有智能的根本途徑,
其應(yīng)用遍及人工智能的各個(gè)領(lǐng)域,它主要使用歸納、綜合而不是演繹。
'''
from sklearn import svm,datasets 
# datasets數(shù)據(jù)庫(kù)、svm:upport Vector Machine 分類(lèi)器(支持向量機(jī))
'''
最好把 dataset 寫(xiě)成一個(gè)文件
'''
class Dataset:
    # 我們創(chuàng)建一個(gè)dataset的類(lèi),這個(gè)類(lèi)會(huì)幫我們下載相關(guān)的數(shù)據(jù)集
    # 并給我們分類(lèi)好x,y
    def __init__(self,name):
        # 告訴類(lèi),我們需要那個(gè)數(shù)據(jù)集
        # 我們有兩個(gè)選擇,一個(gè)是'iris',一個(gè)是'digits'
        self.name = name
    def download_data(self): # 1、下載數(shù)據(jù)
        # 從sklearn的自帶集中下載我們制定的數(shù)據(jù)集
        if self.name =='iris':
            # 這里是sklearn自帶的數(shù)據(jù)集下載方法,更多信息可以參考官網(wǎng)
            self.download_data = datasets.load_iris()
        elif self.name == 'digits':
            self.download_data = datasets.load_digits()
        else:
            # 如果不是我們預(yù)想的兩個(gè)數(shù)據(jù)集,則報(bào)錯(cuò)
            print('DataSet Error : No Named datasets')

    def generate_xy(self): # 2、創(chuàng)造x,y
        # 通過(guò)這個(gè)過(guò)程 來(lái)把我們的數(shù)據(jù)集 分為原始數(shù)據(jù) 以及他們的label
        # 我們先把數(shù)據(jù)下載下來(lái)
        self.download_data() # 傳接download_data參數(shù)
        x = self.download_data.data # data 是 x
        y = self.download_data.target # target 是 y
        print('\n Original data looks like this :\n',x)
        print('\n Labels looks Like this:\n',y)
        return x,y
    def get_train_test_set(self,ratio): # 3、數(shù)據(jù)分成訓(xùn)練、測(cè)試集
        # 這里,我們把所有的數(shù)據(jù)分成訓(xùn)練集 和 測(cè)試集
        # 一個(gè)參數(shù)要求我們告知,我們以多收的比例來(lái)分割訓(xùn)練和測(cè)試集
        # 首先,我們把XY給generate出來(lái)
        x,y = self.generate_xy()

        # 有個(gè)比例,我們首先得知道 一共有多少的數(shù)據(jù)
        n_samples = len(x)

        #于是我們知道,有多少應(yīng)該是訓(xùn)練集,多少應(yīng)該是測(cè)試集
        n_train = n_samples * ratio
        # 好了,接下來(lái) 我們分割數(shù)據(jù)
        X_train = x[:n_train] # X訓(xùn)練集
        y_train = y[:n_train] # Y訓(xùn)練集
        X_test = x[n_train:] # X測(cè)試集
        y_test = y[n_train:] # Y測(cè)試集
        # 好,我們得到了所有想要的玩意兒
        return X_train,y_train,X_test,y_test
# === 我們的dataset類(lèi)創(chuàng)造完畢===


# 使用digits 數(shù)據(jù)集
data = Dataset('digits')
# 接著,我們可以用0.7 的分割率 把 xy給分割出來(lái)
X_train,y_train,X_test,y_test = data.get_train_test_set(0.7)

'''
同樣,我們也不一定需要自己創(chuàng)造類(lèi),我們可以引用第三方庫(kù)里的類(lèi),
比如這里,我們用SVM作為我們的分類(lèi)器,去訓(xùn)練我們的算法
我們就直接建造一個(gè)object,使他成為SVM類(lèi)

'''
clf = svm.SVC() 
'''
這里clf是classifier的簡(jiǎn)稱,SVC指的是SVM的classification版本。
因?yàn)槲覀兊臄?shù)據(jù)集都是分類(lèi)問(wèn)題,所以我們使用SVC()
接下來(lái),我們fit我們的數(shù)據(jù)(也就是訓(xùn)練我們的數(shù)據(jù))
顯然,做fit的時(shí)候,我們只可以使用訓(xùn)練集
'''
clf.fit(X_train,y_train)
print(clf.fit(X_train, y_train))

# 拿出數(shù)據(jù)進(jìn)行測(cè)試
test_point =X_test[12]
y_true = y_test[12]
# clf.predict(test_point) # 看clf給出的預(yù)測(cè)是什么
print(clf.predict(test_point.reshape(1,-1))) # 輸出 [7]
print(y_true) # 打印 7


'''
正確!
那么這樣,你們已經(jīng)學(xué)會(huì)如何訓(xùn)練數(shù)據(jù)集并作出新的預(yù)測(cè)了。
把所有的測(cè)試集都導(dǎo)入clf,讓他pridict,并看看跟真實(shí)的label相差多少。
'''
print('!end!\n')

控制臺(tái)打印

七、實(shí)戰(zhàn)

 Original data looks like this :
 [[  0.   0.   5. ...,   0.   0.   0.]
 [  0.   0.   0. ...,  10.   0.   0.]
 [  0.   0.   0. ...,  16.   9.   0.]
 ..., 
 [  0.   0.   1. ...,   6.   0.   0.]
 [  0.   0.   2. ...,  12.   0.   0.]
 [  0.   0.  10. ...,  12.   1.   0.]]

 Labels looks Like this:
 [0 1 2 ..., 8 9 8]
C:\Users\Hasee\Desktop\Python_七月在線\01-Python課程___Python基礎(chǔ)入門(mén)班\Code\第4課 面向?qū)ο蠡A(chǔ)\面向?qū)ο蠡A(chǔ).py:442: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  X_train = x[:n_train] # X訓(xùn)練集
C:\Users\Hasee\Desktop\Python_七月在線\01-Python課程___Python基礎(chǔ)入門(mén)班\Code\第4課 面向?qū)ο蠡A(chǔ)\面向?qū)ο蠡A(chǔ).py:443: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  y_train = y[:n_train] # Y訓(xùn)練集
C:\Users\Hasee\Desktop\Python_七月在線\01-Python課程___Python基礎(chǔ)入門(mén)班\Code\第4課 面向?qū)ο蠡A(chǔ)\面向?qū)ο蠡A(chǔ).py:444: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  X_test = x[n_train:] # X測(cè)試集
C:\Users\Hasee\Desktop\Python_七月在線\01-Python課程___Python基礎(chǔ)入門(mén)班\Code\第4課 面向?qū)ο蠡A(chǔ)\面向?qū)ο蠡A(chǔ).py:445: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  y_test = y[n_train:] # Y測(cè)試集
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
  decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',
  max_iter=-1, probability=False, random_state=None, shrinking=True,
  tol=0.001, verbose=False)
[7]
7
!end!

代碼:74nf

明天將會(huì)更新→0005.Python基礎(chǔ)入門(mén)班_第5課、文件訪問(wèn)與函數(shù)式編程入門(mén)

代碼都是上傳百度云

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容