4 sklearn實戰的認識

2021-10-21 21:05:10 字數 1924 閱讀 3623

import numpy as np

import matplotlib.pyplot as plt

import pandas as pd

from sklearn.model_selection import train_test_split #模型評估 留出法(最基礎的3、7分類的評估形式,這裡匯入的是模型評估模組)

from sklearn.linear_model import linearregression#線性回歸

from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

#度量導包(訓練完之後一定要用的度量工具) mse mae r2(mse是均方值誤差,mae是絕對值誤差,還有r2的0到1區間誤差)

path = r』路徑』

data = pd.read_csv(path) # 4列資料

x = data[[『tv』, 『radio』, 『news*****』]]#將電視廣告,廣播廣告,報紙廣告作為特徵

y = data[『sales』]#銷售額作為標籤

print(x)

print(y)

發掘各種廣告投入對銷售額的影響哪個是最大的

plt.plot(data[『tv』], y, 『ro』, label=『tv』)

plt.plot(data[『radio』], y, 『g*』, label=『radio』)

plt.plot(data[『news*****』], y, 『bv』, label=『newspaer』)

plt.legend(loc=『lower right』)

plt.grid()

plt.show()

最後得出電視投放廣告的話對銷售額的影響最大

#留出法,進行分割,預設比例7.5:2.5

x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=1)# 隨機種子

先進行資料集的分隔,然後再擬合線性回歸的資料模型

linreg = linearregression()

model = linreg.fit(x_train, y_train)#擬合資料

print(linreg.coef_)#引數

print(linreg.intercept_)#截距

最後從得到的數值裡可以發現廣播的coef權重值最大,表明了廣播對真實情況下資料的影響最大

y_hat = linreg.predict(np.array(x_test))#模型**(predict是訓練後返回**結果,是標籤值y)

print(mean_squared_error(y_test, y_hat))#均方誤差(均方誤差越大越不准)

print(mean_absolute_error(y_test, y_hat))#均絕對值誤差,度量模型優劣

print(r2_score(y_test, y_hat))#r方

最終得到的資料,就連檢測係數r方都是很接近1,這裡的檢測係數還可以調整得更接近1

t = np.arange(len(x_test))(這裡的len是把x_test中所有元素的個數按索引值來逐一的分出來,比如有3個元素,就是0,1,2。這裡用來繪圖作橫座標)

plt.plot(t, y_test, 『r-』, linewidth=2, label=『test』)

plt.plot(t, y_hat, 『g-』, linewidth=2, label=『predict』)

plt.legend(loc=『upper right』)

plt.grid()

plt.show()

總結:這裡先是用了留出法進行評估來擬合資料得到模型,然後再通過度量方式對模型進行可靠檢測,最後再通過繪圖來觀察**出來的和真實的測試資料集的銷售額的走向,影象基本相似。

CUDA(4)之指標的認識

摘要 本文的主要目的是認識指標。1.指標的含義 指標是一種資料型別!指標和其他資料型別 double,float,int.一樣需要占用記憶體空間 通常情況下,double占用8個位元組,float占用4個位元組,int占用4個位元組,指標占用2個位元組。指標和其他資料型別一樣同樣有值,唯一不同的是指...

對Android4 X視窗的認識

視窗,可以理解為乙個可以提供給使用者互動的使用者介面,在這個介面裡,使用者可以通過物理按鍵事件,觸控事件等輸入事件和應用程式或者系統進行互動。總體來說,視窗就是乙個可互動的 viewgroup,android 系統在某一時刻只會有且只有乙個視窗獲得焦點並且處於活躍狀態,可以接收各種事件。視窗引數包括...

Spring的認識,以及快速入門案例 4

1.例項化 當我們的程式載入beans.xml檔案 把我們的bean 前提是scope singlton 例項化到記憶體中 2.呼叫set方法設定屬性 3.如果你事先了bean名字關注介面 beannameaware 則,可以通過setbeanname獲取id號 4.如果你實現了beanfactor...