ぐりろぐ

変化を楽しむ気分屋ぐりの役立ちノート

【python】パッケージ(ライブラリ)バージョン指定インストール

python,バージョン指定,ダウングレード,パッケージ 今回はAI AcademyのKaggleでデータ分析ができるようになりたい>回帰分析とはという部分で遭遇したエラーと、その解決策について説明していきたいと思います。

エラー文

エラー本文はこちら。

xpected 2D array, got scalar array instead:array=25.

環境

  • MacBook Pro late2016 TouchBar
  • macOS Mojave バージョン10.14.2
  • Anacondaを利用して、pythonをダウンロード
  • scikit-learn バージョン 0.20.2

状況とエラーが出たコード

# 学習データ
x = [[12],[16],[20],[28],[36]]
y = [[700],[900],[1300],[1750],[1800]]


import matplotlib.pyplot as plt
plt.figure()
plt.title('Relation between diameter and price') #タイトル
plt.xlabel('diameter') #軸ラベル
plt.ylabel('price') #軸ラベル
plt.scatter(x,y) #散布図の作成
plt.axis([0, 50, 0, 2500]) #表の最小値、最大値
plt.grid(True) #grid線
plt.show()


from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(x,y)

price = model.predict(25)
print('25 inches pizza should cost: %s円'%price[0][0])


x_test = [[16],[18],[22],[32],[24]]
y_test = [[1100],[850],[1500],[1800],[1100]]

score = model.score(x_test,y_test)
print("r-squared:",score)



from sklearn.linear_model import LinearRegression
x = [[12,2],[16,1],[20,0],[28,2],[36,0]]
y = [[700],[900],[1300],[1750],[1800]]

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

x_test = [[16,2],[18,0],[22,2],[32,2],[24,0]]
y_test = [[1100],[850],[1500],[1800],[1100]]

prices = model.predict(x_test)
for i, price in enumerate(prices):
    print('Predicted:%s, Target:%s'%(price,y_test[i]))

score = model.score(x_test,y_test)
print("r-squared:",score)

ちなみにこちらのコードの内容は、 AI AcademyのKaggleでデータ分析ができるようになりたい>回帰分析とはという部分のものです。

対策

まずは既存のpythonにどのようなパッケージがインストールさ入れているかを確認します。

pip freeze

これによって、既にインストールされているパッケージ及びそのバージョンが表示されます。

今回の場合、僕のpython(Anacondaを利用してインストール)には既にscikit-learn0.20.2がインストールされていました。

これによって今回動かしたいコードにエラーが出てしまっていました。 (このバージョンには対応していないコードの書き方がされていたため)

対策として行ったことは、大きく2つ

対策内容

・既存のscikit-learnをアンインストール
・新たにダウングレードしたscikit-learnをインストール

この2点を行いました。

まずは既存のscikit-learnをアンインストールします。

pip uninstall scikit-learn

本当にアンインストールする?と聞かれるので、y を選択。

無事にアンインストールされたら、次にダウンロードしたいバージョンのscikit-learnをダウンロードします。

pip install scikit-learn==0.19.2

これで無事解決しました〜!

参考ページ

(参考)https://www.solima.net/python/archives/153

www.grisoluto.com