Python 機器學習 學習筆記1

2021-10-12 16:45:53 字數 4425 閱讀 4414

python基礎

作業1.1

編寫程式 ,用 [0] 在 [0,1,2] 和 [0,1,2,3,4] 中迴圈,生成「 5行 3 列」的零陣列 [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0,0], [0, 0, 0]]

a =[0

]b =[0

,1,2

]c =[0

,1,2

,3,4

]t =[[

],,,

,[]]

for a in b:

for a in c:

t[a]0)

print

(t)

學習**

練習1

# 求解一元二次方程

import math

defquadratic

(a, b, c)

:

beta = b**2-

4*a*c

if beta <0:

return

'無解'

elif beta ==0:

x =-b/(

2*a)

return

'x1=x2='

,x else

: x1 =

(-b + math.sqrt(b**2-

4*a*c))/

(2*a) x2 =

(-b - math.sqrt(b**2-

4*a*c))/

(2*a)return x1,x2

print

('quadratic(2, 3, 1) ='

, quadratic(2,

3,1)

)

練習2

# x的n次方計算方法

defpower

(x,n)

: s =

1while n >0:

n = n-

1 s = s * x

return s

print

('5的4次方'

,power(5,

4))

作業2.1

編寫函式,輸入變數n,輸出形如 的字典。例如當 n=8 時,輸出

def

input_dict

(n):

list

=range(1

,n+1

)# 建立乙個從1到n的list

d =# 建立乙個字典

n =1for n in

list

: d[n]

= n**

2# 對應key值為n方

return d

print

(input_dict(8)

)

作業2.2

編寫函式,利用遞迴演算法獲得指定項的斐波拉契數列,並思考,遞迴過程中由於很多計算是重複 的,會浪費算力,能否優化?

# 斐波那契數列以如下被以遞推的方法定義:f(0)=0,f(1)=1, f(n)=f(n - 1)+f(n - 2)(n ≥ 2,n ∈ n*)

# 0、1、1、2、3、5、8、13、21、34、……

deffact

(n):

if n ==0:

return

0elif n ==1:

return

1return

(fact(n-1)

+ fact(n-2)

)#遞迴

fact(6)

#會浪費算力,但不會優化

分治法、動態規劃、貪心演算法(理解)

學習**

切片練習3.1

利用切片操作,實現乙個trim()函式,去除字串首尾的空格,注意不要呼叫str的strip()方法:

def

trim

(s):

length =

len(s)

if length >0:

for i in

range

(length)

:#注意length是乙個數字

if s[i]

!=' '

:#若無空白,直接跳過,進入刪除後面空白的指令中

break

; j = length -1;

while s[j]

==' '

and j > i:

j -=

1 s = s[i:j+1]

return s

trim(

' hello '

)

迭代

練習

def

findminandmax

(l):

length =

len(l)

if length ==0:

return

none

,none

else:(

min,

max)

= l[0]

,l[0

]for i in l:

if i <

min:

min= i

if i >

max:

max= i

return

(min

,max

)findminandmax([1

,2,3

,4])

# 判斷是否為str,然後再通過列表生成式小寫列表

l1 =

['hello'

,'world',18

,,none

][s.lower(

)for s in l1 if

isinstance

(s,str)is

true

]

這塊自己理解的也不太好,楊輝三角那個題能理解但是自己做差了點意思,回頭遇到類似的code放進來

## 楊輝三角 不會,抄的

def********s()

: p =[1

]while

true

:yield p

p =[1

]+[p[i]

+ p[i +1]

for i in

range

(len

(p)-1)

]+[1

]n =

0for t in ********s():

print

(t) n = n +

1while n ==10:

break

作業3.1

編寫程式 ,用列表生成式 [0] 在 [0,1,2] 和 [0,1,2,3,4] 中迴圈,生成「 5行 3 列」的零陣列 [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0,0], [0, 0, 0]]

# hhhhhh 慢慢試出來的,fighting!!

[[x *

0for x in

range(3

)]for y in

range(5

)]

作業3.2

總結iterable型別、generator、iterator的區別及轉化方法

iterable型別:可以直接用於for迭代的物件,成為iterable可迭代物件;iterable型別包括list、tuple、dict、set、str

from collections.abc import iterable

a =isinstance([

],iterable)

b =isinstance([

[1,2

],1]

,iterable)

c =isinstance

('abc'

,iterable)

d =isinstance

(,iterable)

e =isinstance

([x for x in

range(5

)],iterable)

print

(a,b,c,d,e)

機器學習 學習筆記 1

一 問題的引入 回歸分析大多屬於監督學習的一種方法。這種方法主要是根據從貼有便簽的理算資料通,通過統計等方法得到數學模型,然後將模型運用於 或者分類。通常是多維的,如果存在高維空間時,可通過核函式等方法優化處理。例如房屋的價錢和很多因素有關,而每乙個因素也成為乙個維度。這裡和多臂 問題 multi ...

機器學習 學習筆記1

什麼是機器學習?監督學習 supervised learning 如神經網路,提供資料和資料的標籤進行訓練 非監督學習 unsupervised learning 只提供資料而不提供對應的標籤進行訓練 半監督學習 利用少量有標籤樣本和大量無標籤樣本進行訓練,來對無標籤樣本進行分類 強化學習 rein...

機器學習學習筆記1

周志華機器學習 flyu6 time 2016 6 12 假設空間 歸納偏好 監督學習 所謂的監督學習其實就是在資料集d中有格式為 x,y 的形式,可以看出我們有明確的目標值或者標籤 y 與x的資料集有關關聯關係。我們可以通過尋找x與y的關係來確定乙個關係化的模型。在這個模型的學習中,我們是通過真是...