通過scikit learn進行線性回歸嘗試

2021-08-29 02:33:33 字數 1689 閱讀 8156

線性模型是在機器學習中最先接觸到的數學模型,通過對多組數值對進行擬合,從而最終得出自變數與因變數之間的線性關係。本片之中並不對線性模型進行闡述而是主要通過python的類庫scikit-learn進行線性回歸的相關嘗試。

1.資料來源匯入

我們在使用scikit-learn的時候可以選擇類庫內部自帶的資料集,也可以使用pandas讀取csv格式的資料,同樣也可以自行定義dataframe格式變數資料。資料檔案中是以t、x、y三個變數作為列頭。

import pandas as pd

df=pd.read_csv('data.csv')

data_x = df[['x']]

data_y = df[['y']]

而選擇 類庫內部自帶的資料集,可以使用這種方法進行呼叫。我們可以通過print檢視資料的結構以及內容。

from sklearn import datasets

from numpy import shape

loaded_data = datasets.load_boston()

print(shape(data_x))

print(shape(data_y))

print(data_x)

print(data_y)

2.設定訓練集與測試集

from sklearn import model_selection

x_train, x_test, y_train, y_test = model_selection.train_test_split(data_x, data_y, test_size=0.2)

print(shape(x_train))

print(shape(x_test))

3.選擇線性模型、進行訓練

from sklearn.linear_model import linearregression

model = linearregression()

model.fit(x_train, y_train)

print (model.coef_)

print (model.intercept_)

y_pred = model.predict(x_test)

4.輸出測試與交叉檢驗mse

from sklearn import metrics

print (metrics.mean_squared_error(y_test, y_pred))

from sklearn.model_selection import cross_val_predict

predicted = cross_val_predict(model, data_x, data_y, cv=10)

print(metrics.mean_squared_error(data_y, predicted))

5.作圖觀察

import matplotlib.pyplot as plt

plt.scatter(data_y, predicted, color='y', marker='o')

plt.scatter(data_y, data_y,color='g', marker='+')

plt.show()

scikit learn包進行tf idf計算

採用scikit learn包進行tf idf分詞權重計算關鍵用到了兩個類 countvectorizer和tfidftransformer,具體參見這裡 乙個簡單的 如下 python view plain copy coding utf 8 author liuxuejiang import j...

用scikit learn進行LDA降維

性判別分析lda原理總結中,我們對lda降維的原理做了總結,這裡我們就對scikit learn中lda的降維使用做乙個總結。在scikit learn中,lda類是sklearn.discriminant analysis.lineardiscriminantanalysis。那既可以用於分類又可...

用scikit learn進行LDA降維

在scikit learn中,lda類是sklearn.discriminant analysis.lineardiscriminantanalysis。那既可以用於分類又可以用於降維。當然,應用場景最多的還是降維。和pca類似,lda降維基本也不用調參,只需要指定降維到的維數即可。我們這裡對lin...