線性模型是在機器學習中最先接觸到的數學模型,通過對多組數值對進行擬合,從而最終得出自變數與因變數之間的線性關係。本片之中並不對線性模型進行闡述而是主要通過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...