機器學習基礎——整合學習1
1.機器學習問題分類
從資料集的角度看機器學習:資料集一般由自變數(x,特徵)和因變數(y,標籤)組成。
根據所要處理的資料中有沒有因變數,機器學習可分為有監督學習和無監督學習:
(1)有監督學習
指所分析的資料集中既含有自變數,也有因變數,這也是我們最常遇到的機器學習任務。
其中,根據因變數(y)是否連續,有監督學習又可分為迴歸問題(y連續)和分類問題(y離散)。(還有一類是排序問題,輸出y是一個序列)
(2)無監督學習
指所分析的資料集中只含有自變數,沒有因變數,建模的目的是學習資料本身的結構和關係。如聚類分析,降維分析等,這不是我們討論的重點。
(3)強化學習
實際上,我認為強化學習應該是獨立於上面兩類的一類新的問題,這個有機會再介紹。
2.迴歸
(1)首先我們可以匯入Boston資料集作為迴歸問題
資料集中特徵含義具體可以自查~
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() #檢視資料前幾行
(2)繪圖分析
繪圖的基礎就不說了,這裡介紹學到的兩個新功能:執行時間和繪圖風格
%%time #可以用來檢視程式執行的時間
%matplotlib inline
plt.style.use("ggplot") #將繪圖風格調整為ggplot風格
普通sns.scatterplot()作圖效果(以分析Price~NOX)為例:
NOX:一氧化氮濃度(/千萬分之一)
二者的繪圖效果自己去感受,我覺得後者繪圖逼格略高,有質感。但從繪製時間上來說,在美觀的同時,多花了一倍的時間(178ms)。
可以明顯看出:在一氧化氮濃度低的地方的房價較高,反之相反,這符合直觀常識,畢竟汙染小的區域房源競爭激烈!
這個關係更加明顯:犯罪率越低的區域,房價自然越高,符合常識。
3.分類
(1)匯入iris資料集作分析:
from sklearn import datasets
iris = datasets.load_iris()
iris資料集中的特徵解釋:
sepal length (cm):花萼長度(釐米)
sepal width (cm):花萼寬度(釐米)
petal length (cm):花瓣長度(釐米)
petal width (cm):花瓣寬度(釐米)
(2)繪圖觀察特徵
# 視覺化特徵
marker = ['s','x','o']
for index,c in enumerate(np.unique(y)):
plt.scatter(x=iris_data.loc[y==c,"sepal length (cm)"],y=iris_data.loc[y==c,"sepal width (cm)"],alpha=0.8,label=c,marker=marker[c])
plt.xlabel("sepal length (cm)")
plt.ylabel("sepal width (cm)")
plt.legend() 大連人流哪家好 mobile.fkyy120.net/
plt.show()
程式碼中,介紹兩個語法:
1)enumerate()是python的內建函式,對一個可迭代物件,用於既要遍歷索引又要遍歷元素時。enumerate還可以接收第二個引數,用於指定索引起始值。
2)unique( )用於去除重複值,保留唯一值
每種不同的顏色和點的樣式為一種型別的鳶尾花,資料集有三種不同型別的鳶尾花。
4.無監督學習
我們可以使用sklearn生成符合自身需求的資料集,這些資料集沒有因變數,可以用來模擬無監督學習。
注:無監督資料樣本生成可訪問sklearn的API:
sklearn-API: Samples generator.
(1)生成無監督資料,並視覺化:
# 生成月牙型非凸集
from sklearn import datasets
x, y = datasets.make_moons(n_samples=2000, shuffle=True,
noise=0.05, random_state=None)
for index,c in enumerate(np.unique(y)):
plt.scatter(x[y==c,0],x[y==c,1],s=7)
plt.show()
(2)透過make_checkerboard函式生成一個棋盤資料集:
# 生成棋盤資料集
from sklearn import datasets
n_clusters = (4, 3)
data, rows, columns = datasets.make_checkerboard(
shape=(300, 300), n_clusters=n_clusters, noise=10,
shuffle=False, random_state=0)
plt.matshow(data, cmap=plt.cm.Blues)
plt.title("Original dataset")
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2763172/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【機器學習基礎】無監督學習(1)——PCA機器學習PCA
- 機器學習基礎知識1機器學習
- 機器學習數學複習 - 1.概率論基礎機器學習
- 機器學習-整合學習機器學習
- 機器學習-整合學習LightGBM機器學習
- 【Python機器學習實戰】決策樹與整合學習(三)——整合學習(1)Python機器學習
- 【機器學習基礎】神經網路/深度學習基礎機器學習神經網路深度學習
- 1、python機器學習基礎教程——簡述Python機器學習
- ML-機器學習基礎機器學習
- 【機器學習基礎】——梯度下降機器學習梯度
- 機器學習基礎總結機器學習
- 機器學習整合學習—Apple的學習筆記機器學習APP筆記
- 【機器學習基礎】半監督學習簡介機器學習
- 【機器學習基礎】關於深度學習的Tips機器學習深度學習
- 深度學習機器學習基礎-基本原理深度學習機器學習
- 【機器學習基礎】無監督學習(3)——AutoEncoder機器學習
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記1 — 機器學習基礎知識簡介機器學習筆記
- 【機器學習】整合學習——Bagging與隨機森林機器學習隨機森林
- 《機器學習實戰》第一章 機器學習基礎機器學習
- python基礎學習1Python
- 機器學習基礎04DAY機器學習
- 機器學習基礎09DAY機器學習
- 機器學習基礎05DAY機器學習
- 機器學習開發流程基礎機器學習
- 機器學習-1機器學習
- 沒有Python基礎,如何學習用Python寫機器學習Python機器學習
- Hacker-基礎學習(1)
- C++基礎學習1C++
- 強化學習-學習筆記1 | 基礎概念強化學習筆記
- 機器學習基礎-資料降維機器學習
- 機器學習基礎——規則化(Regularization)機器學習
- 【Python機器學習實戰】決策樹與整合學習(四)——整合學習(2)GBDTPython機器學習
- 小白機器學習基礎演算法學習必經之路(下)機器學習演算法
- [譯] 通過整合學習提高機器學習結果機器學習
- 機器學習基礎專題:支援向量機SVM機器學習
- 《機器學習實戰》-01機器學習基礎 #win8-anaconda prompt配置jupyter notebook機器學習
- TensorFlow系列專題(二):機器學習基礎機器學習
- TensorFlow系列專題(一):機器學習基礎機器學習