機器學習主要能分為監督學習和無監督學習,詳細分類參考下圖(這是博主報考cft的筆記,稍作補充)
本次學習主要介紹機器學習中有監督學習的回歸和分類的整合學習的問題。
形如矩陣ax=y的表示式中,y作為因變數向量,a作為自變數矩陣,求解x的過程即為回歸問題。
這裡參考博主最近參加的乙個比賽,用到最小二乘法求線性方程組kx=y的最優解k。與ax=y相似,但對於kx=y而言,需要兩邊同時取轉置,k為需要求解的向量~
**如下:
from scipy.optimize import nnls#導包
def solve_model1(self, x, y):
k = nnls(x, y,0)
# 得到的資料並非整型 前面10道題拿這個算就好了。
k = k[0]
k = np.around(k)
# 四捨五入得到合適的資料,進入rmse驗證環節
return k
x, y = data.read_data(files, num)
#這裡是用來讀資料的,不用細究~
k = data.solve_model1(x.t, y[0]
)
當然常用的還是sklearn,這裡只是提一下回歸通常適用的場景。btw,nnls這個包解線性回歸也挺好使的。
#導包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use(
'ggplot'
)import seaborn as sns
from sklearn import datasets
boston = datasets.load_boston(
)# 返回乙個類似於字典的類
x = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.dataframe(x,columns=features)
boston_data[
"price"
]= y
boston_data.head(
)sns.scatterplot(boston_data[
'rm'
],boston_data[
'price'
],color=
"r",alpha=0.6)
plt.title(
"price~rm"
)plt.show(
)#以上匯出資料畫圖
單考慮rm變數的話,挺線性的,設y=kx+b,**如下:
(僅做參考)
from sklearn import linear_model #表示,可以呼叫sklearn中的linear_model模組進行線性回歸。
model = linear_model.linearregression(
)model.fit(x, y)
display(model.intercept_)
#截距display(model.coef_)
#線性模型的係數
輸出:
# 視覺化特徵
關於無監督學習,主要是聚類,各種聚類演算法,或者pca降維。通過sklearn的datasets可以生成各種分布狀態的資料。
如:
# 生成符合正態分佈的聚類資料
其他datasets的函式可參考參考
無監督學習中,常見的方法有如下三種:
聚類分析
關聯分析
整合學習(上)Task01 熟悉機器學習的主要任務
這算是我第一次正式 系統學習 機器學習 和 整合學習 言外之意我就是個小白 交通專業,不過對用python進行資料分析還是有基礎的 關於打卡,我只想把自己最關心的 對我最有價值的部分提取出來,一方面算作給自己的回憶,另一方面也算做給和我同樣水平的小夥伴的分享吧!一句話概括機器學習 利用數學模型來理解...
機器學習筆記 整合學習
1 什麼時候用整合學習?整合學習有利於減少模型方差,因此當模型複雜度複雜度太高時可以用整合學習方法 參加kaggle等比賽的時候 2 bagging和boosting的基學習器有一樣的特點?bagging的基學習器更強一些,它們學習的物件都是目標任務,最終的 模型是直接拿子模型的決策結果投票或者做平...
機器學習筆記 01
本csdn部落格學習筆記對應為機器學習西瓜書教材,一切內容以西瓜書教材為準 新學期的學習依舊,這次發表在csdn部落格上的是西瓜書版機器學習教材的學習心得和筆記的主要內容,可能不是很詳盡,但保證是本人理解與提煉的結果。1.1引言 機器學習 通過計算的手段,利用經驗改善系統的效能 一般流程 資料 學習...