質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Kaggle

Kaggleは、機械学習モデルを構築するコンペティションのプラットフォームおよびその運営企業を指します。企業や政府といった組織とデータサイエンティスト・機械学習エンジニアを繋げるプラットフォームであり、単純なマッチングではなくコンペティションが特徴です。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

916閲覧

reshape numpyへの変換について

Canchan

総合スコア2

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Kaggle

Kaggleは、機械学習モデルを構築するコンペティションのプラットフォームおよびその運営企業を指します。企業や政府といった組織とデータサイエンティスト・機械学習エンジニアを繋げるプラットフォームであり、単純なマッチングではなくコンペティションが特徴です。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/06/25 09:52

前提・実現したいこと

kaggleのHousepricesを利用しています
reshapeを利用するということは検索で分かったのですが
自分のコードでのあてはめ方が分からないです。
Python学習して数週間の初心者のため、
分かりやすく教えていただけたら幸いです。
重回帰分析を利用しようとしています。

エラーメッセージ ValueError: Expected 2D array, got 1D array instead:

該当のソースコード

# This Python 3 environment comes with many helpful analytics libraries installed # It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python # For example, here's several helpful packages to load import numpy as np # linear algebra import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) # Input data files are available in the read-only "../input/" directory # For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory import os for dirname, _, filenames in os.walk('/kaggle/input'): for filename in filenames: print(os.path.join(dirname, filename)) # You can write up to 5GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using "Save & Run All" # You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session
#データ加工・処理・分析ライブラリ import numpy as np import numpy.random as random import scipy as sp import pandas as pd #可視化ライブラリ import matplotlib.pyplot as plt import matplotlib as mp1 import seaborn as sns %matplotlib inline #機械学習ライブラリ import sklearn import sklearn.preprocessing as pp import sklearn.model_selection as ms import sklearn.metrics as metrics import json from sklearn import linear_model from matplotlib import pyplot as plt from sklearn.metrics import mean_squared_error from sklearn.preprocessing import StandardScaler from sklearn.model_selection import train_test_split from sklearn.pipeline import make_pipeline from sklearn.linear_model import ( LinearRegression, Ridge, Lasso ) #少数第3位まで表示 %precision 3
#データの読み込み train = pd.read_csv('../input/house-prices-advanced-regression-techniques/train.csv') #テストデータ test = pd.read_csv('../input/house-prices-advanced-regression-techniques/test.csv') #訓練データ alldata = pd.concat([train,test],axis=0).reset_index(drop=True) print("Train data shape:",train.shape) print("Test data shape:",test.shape)
#物件の広さを合計した変数を作成 train["TotalSF"] = train["GrLivArea"] + train["GarageArea"] + train["TotalBsmtSF"] + train["1stFlrSF"] + train["2ndFlrSF"] test["TotalSF"] = test["GrLivArea"] + test["GarageArea"] + test["TotalBsmtSF"]+test["1stFlrSF"] + test["2ndFlrSF"] #今回使うSalePriceとTotalSFのみのデータに置き換える train = train[["SalePrice","GrLivArea","GarageArea","TotalBsmtSF","1stFlrSF","2ndFlrSF"]]
#データ分割(訓練データとテストデータ)のためのインポート from sklearn.model_selection import train_test_split #重回帰のモデル構築のためのインポート from sklearn.linear_model import LinearRegression #目的変数にSalePriceを指定、説明変数にそれ以外を指定 X = train.drop("SalePrice",axis=1) y = train["SalePrice"] #訓練データとテストデータに分ける train_X,test_X,train_y,test_y = train_test_split(X,y,test_size=0.5,random_state=0) train_X.head()
#重回帰クラスの初期化と学習 model = LinearRegression() model.fit(train_y,train_X) #決定係数を表示 print('決定係数(train):{:.3f}'.format(model.score(train_x,train_y))) print('決定係数(test):{:.3f}'.format(model.score(test_x,test_y))) #回帰係数と切片を表示 print('\n回帰係数\n{}'.format(pd.Series(model.coef_,index=X.columns))) print('切片:{:.3f}'.format(model.intercept_))

試したこと

reshapeを試しましたが、NumPyへの変換を行わなければならないというような
エラーが出てしまい、
さらに訂正を加えている間に、よく分からなくなりました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず気になることは

python

1model.fit(train_y,train_X)

の部分でtrain_yとtrain_Xが逆ではないでしょうか。

またscikit-learnの多くの分類器に入力するX, yのshapeの形は

python

1X.shape == (データ数, 特徴量の数) 2y.shape == (データ数, )

とする必要がありますので、それぞれ確認して下さい。

投稿2020/06/25 10:40

yymmt

総合スコア1615

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Canchan

2020/06/26 00:06

単純なミスでした。。。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問