日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

by28777 by28777域名查詢( 三 )


【by28777 by28777域名查詢】調(diào)用sklearn包中的LinearRegression()回歸函數(shù) , fit(X,Y)載入數(shù)據(jù)集進行訓(xùn)練,然后通過predict(X2)預(yù)測數(shù)據(jù)集X2的利潤 , 并將預(yù)測結(jié)果繪制成直線,(X,Y)數(shù)據(jù)集繪制成散點圖,如圖3所示 。

同時調(diào)用代碼預(yù)測2017年企業(yè)成本為1200元的利潤為575.1元 。注意,線性模型的回歸系數(shù)會保存在coef_變量中,截距保存在intercept_變量中 。clf.score(X, Y) 是一個評分函數(shù),返回一個小于1的得分 。評分過程的代碼如下:
print('系數(shù)', clf.coef_)print('截距', clf.intercept_)print('評分函數(shù)', clf.score(X, Y))'''系數(shù) [[ 0.62402912]]截距 [-173.70433885]評分函數(shù) 0.911831188777'''

該直線對應(yīng)的回歸函數(shù)為:y = 0.62402912 * x - 173.70433885 , 則X2[1]=400這個點預(yù)測的利潤值為75.9,而X1中成本為400元對應(yīng)的真實利潤是80元 , 預(yù)測是基本準(zhǔn)確的 。
2.線性回歸預(yù)測糖尿病(1).糖尿病數(shù)據(jù)集Sklearn機器學(xué)習(xí)包提供了糖尿病數(shù)據(jù)集(Diabetes Dataset),該數(shù)據(jù)集主要包括442行數(shù)據(jù) , 10個特征值 , 分別是:年齡(Age)、性別(Sex)、體質(zhì)指數(shù)(Body mass index)、平均血壓(Average Blood Pressure)、S1~S6一年后疾病級數(shù)指標(biāo) 。預(yù)測指標(biāo)為Target , 它表示一年后患疾病的定量指標(biāo) 。原網(wǎng)址的描述如圖4所示:

下面代碼進行簡單的調(diào)用及數(shù)據(jù)規(guī)模的測試 。
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03from sklearn import datasetsdiabetes = datasets.load_diabetes() #載入數(shù)據(jù)print(diabetes.data) #數(shù)據(jù)print(diabetes.target) #類標(biāo)print('總行數(shù): ', len(diabetes.data), len(diabetes.target))print('特征數(shù): ', len(diabetes.data[0])) #每行數(shù)據(jù)集維數(shù)print('數(shù)據(jù)類型: ', diabetes.data.shape)print(type(diabetes.data), type(diabetes.target))
調(diào)用load_diabetes()函數(shù)載入糖尿病數(shù)據(jù)集,然后輸出其數(shù)據(jù)data和類標(biāo)target 。輸出總行數(shù)442行 , 特征數(shù)共10個,類型為(442L, 10L) 。其輸出如下所示:
[[ 0.03807591 0.05068012 0.06169621 ..., -0.00259226 0.01990842-0.01764613][-0.00188202 -0.04464164 -0.05147406 ..., -0.03949338 -0.06832974-0.09220405]...[-0.04547248 -0.04464164 -0.0730303 ..., -0.03949338 -0.004219860.00306441]][ 151. 75. 141. 206. 135. 97. 138. 63. 110. 310. 101....64. 48. 178. 104. 132. 220. 57.]總行數(shù): 442 442特征數(shù): 10數(shù)據(jù)類型: (442L, 10L)<type 'numpy.ndarray'> <type 'numpy.ndarray'>
(2).代碼實現(xiàn)現(xiàn)在我們將糖尿病數(shù)據(jù)集劃分為訓(xùn)練集和測試集,整個數(shù)據(jù)集共442行,我們?nèi)∏?22行數(shù)據(jù)用來線性回歸模型訓(xùn)練,后20行數(shù)據(jù)用來預(yù)測 。其中取預(yù)測數(shù)據(jù)的代碼為diabetes_x_temp[-20:],表示從后20行開始取值 , 直到數(shù)組結(jié)束 , 共取值20個數(shù) 。
整個數(shù)據(jù)集共10個特征值,為了方便可視化畫圖我們只獲取其中一個特征進行實驗,這也可以繪制圖形,而真實分析中,通常經(jīng)過降維處理再繪制圖形 。這里獲取第3個特征,對應(yīng)代碼為:diabetes_x_temp = diabetes.data[:, np.newaxis, 2] 。完整代碼如下:
# -*- coding: utf-8 -*-# By:Eastmount CSDN 2021-07-03from sklearn import datasetsimport matplotlib.pyplot as pltfrom sklearn import linear_modelimport numpy as np#數(shù)據(jù)集劃分diabetes = datasets.load_diabetes() #載入數(shù)據(jù)diabetes_x_temp = diabetes.data[:, np.newaxis, 2] #獲取其中一個特征diabetes_x_train = diabetes_x_temp[:-20] #訓(xùn)練樣本diabetes_x_test = diabetes_x_temp[-20:] #測試樣本 后20行diabetes_y_train = diabetes.target[:-20] #訓(xùn)練標(biāo)記diabetes_y_test = diabetes.target[-20:] #預(yù)測對比標(biāo)記#回歸訓(xùn)練及預(yù)測clf = linear_model.LinearRegression()clf.fit(diabetes_x_train, diabetes_y_train) #訓(xùn)練數(shù)據(jù)集pre = clf.predict(diabetes_x_test)#繪圖plt.title(u'LinearRegression Diabetes') #標(biāo)題plt.xlabel(u'Attributes') #x軸坐標(biāo)plt.ylabel(u'Measure of disease') #y軸坐標(biāo)plt.scatter(diabetes_x_test, diabetes_y_test, color = 'black') #散點圖plt.plot(diabetes_x_test, pre, color='blue', linewidth = 2) #預(yù)測直線plt.show()

推薦閱讀