0

私はSklearnを使用して線形回帰分析を実行したいが、以下は私のコードです。私が言うエラーが出る「期待2D配列を、1次元配列を得た代わりに」Sklearn - 線形回帰

from sklearn.linear_model import LinearRegression 
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 
%matplotlib inline 

# import data from csv file and store it into a variable 

data = pd.read_csv("Advertising.csv") 

x = data.iloc[:,2] 
y = data.iloc[:,4] 

reg = LinearRegression(x,y) 
reg.fit (x,y) 

エラー:

ValueError: Expected 2D array, got 1D array instead: 
array=[ 37.8 39.3 45.9 41.3 10.8 48.9 32.8 19.6 2.1 2.6 5.8 24. 
    35.1 7.6 32.9 47.7 36.6 39.6 20.5 23.9 27.7 5.1 15.9 16.9 
+1

)(フィットするためにそれらを渡し、その後

X = X.reshape(-1,1) 

と。 – GauravInno

答えて

1

あなたのコードは、線形回帰のコンストラクタでエラーが発生しました。

の代わりに:

reg = LinearRegression(x,y) 

この操作を行います。あなたが言っているエラーのためとして今

reg = LinearRegression() 

を、現在の形状があるので、あなたはXの単一列のみを持っているので、それがある

(n_rows,) 

すべてのscikit推定値は、Xの形状を必要とします。

だから、
(n_rows, n_columns) 

、このようなあなたのXを再構築:私はあなたが再形成法または[X]と[Y]を使用することができると思う

+0

ありがとう。それは完璧に機能します。 – Kaleembukhari