萌新python機器學習筆記

2021-10-09 17:00:52 字數 1172 閱讀 9564

#萌新python機器學習

剛看完線性回歸的推導公式迫不及待的想用python進行實驗

import numpy as np

from sklearn import datasets

import matplotlib.pyplot as plt

x,y=datasets.make_regression(n_samples=

100,n_features=

1,n_targets=

1,noise=1)

print

(type

(x))

x=x.flatten(

)plt.figure(

)plt.scatter(x,y)

print

(x)z1=np.polyfit(x,y,1)

p1=np.poly1d(z1)

print

(p1)

從sklearn中匯入datasets是sklearn自帶,使用make_regression,可以建立回歸模型隨機資料,例如#關鍵引數有n_samples(生成樣本數),n_features(樣本特徵數),noise(樣本隨機噪音)和coef(是否返回回歸係數)

x,y,coef=make_regression(n_samples=1000,n_features=1,noise=10,coef=true)( x為樣本特徵,y為樣本輸出, coef為回歸係數,共1000個樣本,每個樣本1個特徵)參考自(

剛開始使用polyfit函式進行擬合的時候總是報錯如下

raise typeerror(

"expected 1d vector for x"

)typeerror: expected 1d vector for x

在列印出資料後發現,本例中make_regression所建立的函式x是100維每一維度有1個資料,在找到問題後就想辦法調整x矩陣,在搜尋中發現了flatten這個函式,他隸屬於numpy.ndarray.flatten,作用的物件型別只能是numpy型別的也就是arry或者mat,返回乙個輸入陣列的一維副本。

x=x.flatten相當於把本例中的變成1維的但是有100個資料。這樣就可以使用ployfit函式進行擬合,函式返回的是斜率k值和截距b,poly1d函式作用是將之前ployfit返回的引數多項式。

萌新PYTHON學習01

an highlighted block class myabc 抽象基類,其中可能並沒有實際可呼叫的 但定義了若干函式名,表示其子類應當也擁有這些函式方法 def func1 pass def func2 pass class myclass myabc 繼承myabc的子類,根據規範,應當實現父...

萌新迴圈佇列學習筆記

迴圈佇列 佇列最簡單的表示方法就是陣列啊 用陣列表示佇列,那麼普通的方法就是簡單的搞兩個下標代表佇列頭,佇列尾,然後進隊,出隊,但是隨著入隊,出隊操作的進行,會使整個佇列整體向後移動,隊尾指標已經移到了最後,再有元素入隊就會溢位,而事實上此時隊中並未真的 滿員 這種現象稱為 假溢位 為了解決隊尾溢位...

Python3萌新入門筆記(1)

在之前的教程中,我們已經學會了安裝python以及pycharm。在這裡,我們開啟pycharm,它是一種python ide 整合開發環境 在這個軟體中,我們來學習python的基礎知識。首先,我們先在軟體中,開啟python控制台或者命令列程式。python控制台開啟之後,會直接進入互動式環境,...