
發布
注冊
/
登錄sklearn
關注創建者:博集華仿 創建時間:2019-12-12

sklearn的實例教程
00 安裝scikit-learn庫
pip install scikit-learn
01 獲取sklearn中鳶尾花數據
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
iris=datasets.load_iris()
dex1=np.random.choice(150,size=120,replace=False)
dex2=[]
for i in range(150):
if i not in dex1:
dex2.append(i)
train_x=iris.data[dex1,:]
train_y=iris.target[dex1]
test_x=iris.data[dex2,:]
test_y=iris.target[dex2]
02 分類樹
classi=DecisionTreeClassifier()
classi.fit(train_x,train_y)
classi.score(test_x,test_y)
Out[112]: 0.9333333333333333
classi.predict(test_x)
classi=DecisionTreeClassifier(criterion='gini')
classi.fit(train_x,train_y)
classi.score(test_x,test_y)
Out[135]: 0.9
classi=DecisionTreeClassifier(criterion='entropy')
classi.fit
展開 in weights:
scor=[]
for k in ks:
regre=neighbors.KNeighborsRegressor(weights=weight,n_neighbors=k)
regre.fit(train_x,train_y)
scor.append(regre.score(test_x,test_y))
plt.plot(ks,scor,label=weight)
plt.legend()
fig=plt.figure()
ps=[1,2,10]
ks=np.linspace(1,len(train_y),50,dtype='int')
for p in ps:
scor=[]
for k in ks:
regre=neighbors.KNeighborsRegressor(p=p,n_neighbors=k)
regre.fit(train_x,train_y)
scor.append(regre.score(test_x,test_y))
plt.plot(ks,scor,label='p='+str(p))
plt.legend(loc='best')
02 獲取sklearn中數據
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets,neighbors
digits=datasets.load_digits()
dex1=np.random.choice(1797,1500,replace=False)
dex2=[]
for
展開 摘要:本文主要展示scikit-learn中線性模型在分類問題中的使用,涉及邏輯回歸,線性判別;
00 安裝scikit-learn庫
pip install scikit-learn
01 獲取sklearn中鳶尾花數據
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets, linear_model
iris=datasets.load_iris()
dex1=np.random.choice(150,size=120,replace=False)
dex2=[]
for i in range(150):
if i not in dex1:
dex2.append(i)
train_x=iris.data[dex1,:]
train_y=iris.target[dex1]
test_x=iris.data[dex2,:]
test_y=iris.target[dex2]
02 邏輯回歸
regre=linear_model.LogisticRegression(multi_class='ovr',solver='liblinear')
regre.fit(train_x,train_y)
regre.score(test_x,test_y)
regre.coef_
Out[40]:
array([[ 0.39001649, 1.4110123 , -2.14837944, -0.97686956],
[ 0.54586613, -1.70617607, 0.38138451, -1.1176497 ],
[-1.63246048, -1.17046085, 2.28632906
展開 摘要:本文主要展示樸素貝葉斯模型在分類中的使用,包含三種:高斯貝葉斯,多項式貝葉斯,伯努利貝葉斯(二項貝葉斯);
00 安裝scikit-learn庫
pip install scikit-learn
01 獲取sklearn圖像識別素材
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets, naive_bayes
digits=datasets.load_digits()
dex1=np.random.choice(1797,1500,replace=False)
dex2=[]
for i in range(1797):
if i not in dex1:
dex2.append(i)
train_x=digits.data[dex1]
train_y=digits.target[dex1]
test_x=digits.data[dex2]
test_y=digits.target[dex2]
02 高斯貝葉斯模型
classi=naive_bayes.GaussianNB()
classi.fit(train_x,train_y)
classi.score(test_x,test_y)
Out[44]: 0.835016835016835
classi.predict(test_x)
Out[45]:
array([0, 7, 1, 3, 7, 5, 4, 7, 8, 0, 1, 6, 3, 3, 4, 5, 1, 7, 7, 5, 8, 8,
1, 8, 3, 6, 8, 0, 7, 7, 3, 8, 7, 1, 3, 7, 3, 9, 0, 6, 9, 7,
展開 摘要:本文主要展示scikit-learn中關于線性回歸模型的使用,涉及到線性回歸,嶺回歸,Lasso回歸,ElasticNet回歸;
00 安裝scikit-learn庫
pip install scikit-learn
01 獲取sklearn中糖尿病患者數據
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets, linear_model
diabetes=datasets.load_diabetes()
train_x=diabetes.data[:342,:]
train_y=diabetes.target[:342].reshape(-1,1)
test_x=diabetes.data[342:,:]
test_y=diabetes.target[342:].reshape(-1,1)
02 線性回歸
regre=linear_model.LinearRegression()
regre.fit(train_x,train_y)
獲取回歸模型參數:
regre.coef_
Out[16]:
array([[ -8.41868608, -246.87356823, 515.48111342, 302.57455473,
-403.03503059, 160.72498918, -73.58961448, 127.08804647,
609.91854338, 87.69439173]])
regre.intercept_
Out[17]: array([152.09317069])
regre.score(test_x,test_y)
Out
展開 
sklearn的相關專題、標簽、搜索
sklearn的最新內容
tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
from sklearn.model_selection
from sklearn.preprocessing
import train_test_split
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
步驟 2:生成示例數據
此模塊生成隨機樣本數據以進行演示。
sklearn.datasets
數據集包含存儲在 中的特征(例如收入中位數、平均房間數),目標(房價)存儲在 中。Xy
3.
100, 2)
y = np.sin(X[:, 0]) + np.cos(X[:, 1])
# Define the radial basis function
def rbf(x, c, s):
return np.exp(-np.linalg.norm(x-c)**2 / (2 * s**2))
# Choose centers using k-means
from sklearn.cluster
學習機器學習之前,有針對性的對python進行系統的學習,數據的基本處理,以方便將來開展機器學習的學習
python安裝與開發環境的搭建
基本數據類型、組合數據類型
函數、列表 、元組、字典、集合
控制結構、循環結構
Numpy模塊——矩陣的科學計算
Matplotlib模塊——數據處理與繪圖
Pandas模塊——csv數據處理與分析
Sklearn模塊——機器學習模型基礎軟件包調用
2 案例實踐一
學習機器學習之前,有針對性的對python進行系統的學習,數據的基本處理,以方便將來開展機器學習的學習
python安裝與開發環境的搭建
基本數據類型、組合數據類型
函數、列表 、元組、字典、集合
控制結構、循環結構
Numpy模塊——矩陣的科學計算
Matplotlib模塊——數據處理與繪圖
Pandas模塊——csv數據處理與分析
Sklearn模塊——機器學習模型基礎軟件包調用
? 機器學習在在多組學數據分析的應用
? 函數、列表 、元組、字典、集合
? 控制結構、循環結構
? Numpy模塊——矩陣的科學計算
? Matplotlib模塊——數據處理與繪圖
? Pandas模塊——csv數據處理與分析
? Sklearn
(1) 人工劃分驗證集
以時間序列舉例,因為一般測試集也會是未來數據,所以我們也要保證訓練集是歷史數據,而劃分出的驗證集是未來數據,不然會發生“時間穿越”的數據泄露問題,導致模型過擬合(例如用未來預測歷史數據),這個時候就有兩種驗證劃分方式可參考使用:
TimeSeriesSplit:Sklearn提供的TimeSeriesSplit。
在sklearn中,我們有一個BaggingClassifier類,用于創建除決策樹以外的模型。
Boosting
增強集成方法通過重視先前模型的錯誤,將弱學習者轉化為強學習者。Boosting以順序的方式實現同構ML算法,每個模型都試圖通過減少前一個模型的誤差來提高整個過程的穩定性。