ML_Multiple Linear Regression
生活随笔
收集整理的這篇文章主要介紹了
ML_Multiple Linear Regression
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
機器學習100天系列學習筆記 機器學習100天(中文翻譯版)機器學習100天(英文原版)
第一步:導包
#Step 1: Data Preprocessing import pandas as pd import numpy as np第二步:導入數據
#Step 2: Importing the dataset dataset = pd.read_csv('D:/daily/機器學習100天/100-Days-Of-ML-Code-中文版本/100-Days-Of-ML-Code-master/datasets/50_Startups.csv') X = dataset.iloc[ : , :-1].values Y = dataset.iloc[ : , 4 ].values第三步:編碼
#Step 3: Encoding Categorical data from sklearn.preprocessing import LabelEncoder, OneHotEncoder labelencoder = LabelEncoder() X_3 = labelencoder.fit_transform(X[:,3]) X[:,3] = X_3 print(X_3) State = X[:,3] State = State.reshape(-1,1) # 轉換為多行一列的形式 env = OneHotEncoder(categories = 'auto').fit(State) res = env.transform(State).toarray() X = np.hstack((X[:, :3], res)) # OneHot后的最后一列與之前兩列拼接起來打印:
X_3
res
[[0. 0. 1.][1. 0. 0.][0. 1. 0.][0. 0. 1.][0. 1. 0.][0. 0. 1.] ......即2的獨熱編碼為[0,0,1],0的獨熱編碼為[1,0,0],1的獨熱編碼為[0,1,0]。
第四步:避免虛擬變量陷阱
#Step 4: Avoiding Dummy Variable Trap X = X[ : , :3]第五步:劃分訓練集、測試集
#Step 5: Splitting the dataset into the Training set and Test set from sklearn.model_selection import train_test_split X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 0)第六步:多重線性回歸擬合
#Step 6: Fitting Multiple Linear Regression to the Training set from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor.fit(X_train, Y_train)第七步:預測
#Step 7: Predicting the Test set results y_pred = regressor.predict(X_test)第八步:回歸性能指標
#Step 8: regression evaluation from sklearn.metrics import r2_score print(Y_test) print(y_pred) print(r2_score(Y_test, y_pred))打印:0.9393955917820571
R2 決定系數(擬合優度),模型越好:r2→1;模型越差:r2→0
完整代碼:
#Day 3: Multiple Linear Regression 2022/4/6#Step 1: Importing the libraries import pandas as pd import numpy as np#Step 2: Importing the dataset dataset = pd.read_csv('D:/daily/機器學習100天/100-Days-Of-ML-Code-中文版本/100-Days-Of-ML-Code-master/datasets/50_Startups.csv') X = dataset.iloc[ : , :-1].values Y = dataset.iloc[ : , 4 ].values#Step 3: Encoding Categorical data from sklearn.preprocessing import LabelEncoder, OneHotEncoder labelencoder = LabelEncoder() X_3 = labelencoder.fit_transform(X[:,3]) X[:,3] = X_3 print(X_3) State = X[:,3] State = State.reshape(-1,1) # 轉換為多行一列的形式 env = OneHotEncoder(categories = 'auto').fit(State) res = env.transform(State).toarray() X = np.hstack((X[:, :3], res)) # OneHot后的最后一列與之前兩列拼接起來#Step 4: Avoiding Dummy Variable Trap X = X[ : , :3] print(X) #Step 5: Splitting the dataset into the Training set and Test set from sklearn.model_selection import train_test_split X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state = 0)#Step 6: Fitting Multiple Linear Regression to the Training set from sklearn.linear_model import LinearRegression regressor = LinearRegression() regressor.fit(X_train, Y_train)#Step 7: Predicting the Test set results Y_pred = regressor.predict(X_test)#Step 8: regression evaluation from sklearn.metrics import r2_score #print(Y_test) #print(Y_pred) print(r2_score(Y_test, Y_pred))總結
以上是生活随笔為你收集整理的ML_Multiple Linear Regression的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ML---Simple Linear R
- 下一篇: ML_Logistic_Regressi