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

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

ただいまの
回答率

90.98%

  • Python

    5565questions

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

  • Atom (テキストエディタ)

    428questions

  • pandas

    356questions

    Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

scikit-learnのエラー解決できません

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 196

takahiro_tt

score 0

前提・実現したいこと

http://neuro-educator.com/ml18/ のサイトを参考に自分でも回帰を実装しようと思い、プログラムを書いていたところ下記のエラーがでました。

発生している問題・エラーメッセージ

ValueError: Found input variables with inconsistent numbers of samples: [84, 105]
---追記
上記のエラーは解決しましたが、進めていくうちに次のエラーが発生しました
「SGDの平均2乗誤差」と「SVRの平均二乗誤差」
47.8755773832
49.403758817

Data with input dtype int64 was converted to float64 by StandardScaler.
warnings.warn(msg, DataConversionWarning)

該当のソースコード

 -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import model_selection, preprocessing, linear_model ,svm#機械学習用のライブラリ
from matplotlib import pyplot as plt


df = pd.read_csv("kaozahyou3.csv",header=None,skiprows=True , sep=",")
df.columns = ['leye_x','leye_y','reye_x','reye_y','nose_x','nose_y','lmouth_x','lmouth_y','rmouth_x','rmouth_y','chin_x','chin_y','pitch']

X_rm=df[['nose_x']].values
X = df.iloc[:,0:12]
Y = df['pitch'].values

#3:データの整形-------------------------------------------------------
sc=preprocessing.StandardScaler()
sc.fit(X)
X=sc.transform(X)
sc.fit(X_rm)
X_rm=sc.transform(X_rm)

#4:学習データとテストデータに分割する-------------------------------
X_rm_train, X_rm_test, Y_train, Y_test = model_selection.train_test_split(X_rm, Y, test_size=0.5, random_state=0)

#5:SGD Regressorを適用する-------------------------------------------
clf_rm = linear_model.SGDRegressor(max_iter=1000)
clf_rm.fit(X_rm_train, Y_train)

#解説6:SVR linear Regressorを適用する-------------------------------------------
clf_svr = svm.SVR(kernel='linear', C=1e3, epsilon=2.0)
clf_svr.fit(X_rm_train, Y_train)

#7:結果をプロットする------------------------------------------------

line_X=np.arange(0, 250, 1) #3から10まで1刻み
line_Y_sgd=clf_rm.predict(line_X[:, np.newaxis])
line_Y_svr=clf_svr.predict(line_X[:, np.newaxis])
plt.figure(figsize=(30,30))
plt.subplot(2, 1, 1)
plt.scatter(X_rm_train, Y_train, c='b', marker='s')
plt.plot(line_X, line_Y_sgd, c='r')
plt.plot(line_X, line_Y_svr, c='g')
plt.show

# 8:誤差-------------------------------------------------
Y_pred_sgd=clf_rm.predict(X_rm_test)
Y_pred_svr=clf_svr.predict(X_rm_test)
print("\n「SGDの平均2乗誤差」と「SVRの平均二乗誤差」")
RMS_sgd=np.mean((Y_pred_sgd - Y_test) ** 2)
RMS_svr=np.mean((Y_pred_svr - Y_test) ** 2)
print(RMS_sgd)
print(RMS_svr)

試したこと

いままでも小さなエラーは出ていて少しづつ解決してきたのですが、
このエラーで詰まってしまいました。
ネットを探しながら解決法を見つけているのですが、見つかりません。

補足情報(言語/FW/ツール等のバージョンなど)

windows8.1
python 3.5

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • Zuishin

    2018/01/22 19:04

    Python はインデント必須です。インデントを入れた正しいソースをコードブロックを使って書き直してください。

    キャンセル

  • wakame

    2018/01/22 19:20

    上記に関連して、次のリンクを参照してコードを入力し直しましょう。 https://teratail.com/help/question-tips#questionTips3-5

    キャンセル

  • Zuishin

    2018/01/22 21:42

    wakame さん、知っててやってるんですよ。質問履歴をご覧ください。

    キャンセル

  • mkgrei

    2018/01/24 14:16

    何についての質問でしょうか?エラーが書かれていて、それが解決したとも書いてあります。その後のwarnings.warn(msg, DataConversionWarning)は警告なのでエラーではありません。整数値である変数を標準化することにどれほどの意味があるのかわかりませんが。

    キャンセル

まだ回答がついていません

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

  • ただいまの回答率 90.98%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    matplotlibで横軸のラベルを縦書きにしたい

    pythonのmatplotライブラリの質問です. あるグラフを作成する際に,横軸のラベルを日本語の文字列にしています. デフォルトだと,文字列は横書きで表示されるのですが

  • 解決済

    3次元散布図のアニメーションプロット

    前提・実現したいこと Pythonで三次元散布図でのアニメーションを実装中に以下のエラーメッセージが発生しました。 発生している問題・エラーメッセージ Traceback

  • 解決済

    jupyter notebook のグラフを外部出力したい

    jupyter notebookでmatplotlibを使うと自動でグラフが表示されますがこの自動で表示されるグラフは拡大縮小やsubplotconfiguretiontoolが使

  • 解決済

    matplotlib.pyplot.scatter で軸の値を変更

    前提・実現したいこと 現在、pythonでmatplotlib.pyplot.scatterを用いて散布図を書こうとしています。 そのときに、軸の値を変更する方法を知りたいです。

  • 解決済

    グラフへの自動プロット

    いつもお世話になっております。 前提・実現したいこと プログラム(グラフ)を実行した状態のままCSVファイル(aiueo.csv)に値を追加(削除)した時に実行中のファイルに値

  • 解決済

    matplotlibのリアルタイム描画

    前提・実現したいこと matplotlibを用いてpandasの動的dataFrameをリアルタイム描画したい。 発生している問題・エラーメッセージ matplotlibを用い

  • 解決済

    クラスタ毎の色変更ができません

    前提・実現したいこと クラスタリングの勉強をしています. scikit-learnでクラスタリングしようと思っています. 下記の2つの記事を参考にさせていただいています. こちらの

  • 解決済

    matplotlib contourマップの値の制限とanimation

    import numpy as np import matplotlib.pyplot as plt E=np.zeros((10,10)) for i in range(1,1

同じタグがついた質問を見る

  • Python

    5565questions

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

  • Atom (テキストエディタ)

    428questions

  • pandas

    356questions

    Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。