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

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

新規登録して質問してみよう
ただいま回答率
87.20%
機械学習

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

Python

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

解決済

'str' object has no attribute 'decode'の回避方法

inoino
inoino

総合スコア12

機械学習

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

Python

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

1回答

-2評価

0クリップ

409閲覧

投稿2022/04/04 02:20

編集2022/04/04 11:43

ロジスティック回帰を行いたく、

python3.7

clf = LogisticRegression() clf.fit(X_train, y_train)

としたところ、

python3.7

File "C:\Users\JohnDoe\Anaconda3\lib\site-packages\sklearn\utils\optimize.py", line 243, in _check_optimize_result ).format(solver, result.status, result.message.decode("latin1")) AttributeError: 'str' object has no attribute 'decode'

が出てきてしまい先に進みません。何か考えられる原因などはありますでしょうか。

なお、h5pyのバージョンは2.10.0、Kerasのバージョンは2.8.0、Tensorflowのバージョンは1.14.0です。

不足している情報などあればお伝えください。よろしくお願いします。

追記
指摘があったため、以下にコード全体を載せます。参考にしていたサイトはIkemen Mas Kot氏のhttps://qiita.com/maskot1977/items/b2cfb369f60ad02887b0です。

python3.7

# 数値計算やデータフレーム操作に関するライブラリをインポートする import numpy as np import pandas as pd import statsmodels.api as sm import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler import csv # 図やグラフを図示するためのライブラリをインポートする。 #%matplotlib inline import matplotlib.pyplot as plt from pandas import plotting # 機械学習関連のライブラリ群 from sklearn.model_selection import train_test_split # 訓練データとテストデータに分割 from sklearn.metrics import confusion_matrix # 混合行列 from sklearn.decomposition import PCA #主成分分析 from sklearn.linear_model import LogisticRegression # ロジスティック回帰 from sklearn.neighbors import KNeighborsClassifier # K近傍法 from sklearn.svm import SVC # サポートベクターマシン from sklearn.tree import DecisionTreeClassifier # 決定木 from sklearn.ensemble import RandomForestClassifier # ランダムフォレスト from sklearn.ensemble import AdaBoostClassifier # AdaBoost from sklearn.naive_bayes import GaussianNB # ナイーブ・ベイズ from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA# 線形判別分析 from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis as QDA # 二次判別分析 # データを読み込む df = pd.read_csv('./data/wine.csv') # 標準化 scaler = StandardScaler() scaler.fit(np.array(df)) df_std = scaler.transform(np.array(df)) df_std = pd.DataFrame(df_std,columns=df.columns) # qualityが6未満は0,6以上は1に分類 df["class"] = [0 if i < 6 else 1 for i in df['quality'].tolist()] # col_name取得 col_name = df.columns #print(col_name[:12]) # それぞれに与える色を決める。 color_codes = {0:'#0000FF', 1:'#FF0000'} colors = [color_codes[x] for x in df['class'].tolist()] # 散布図行列の作成(全要素の一対一の相関関係) # 2変数に強い相関があるなら片方に絞る # 一定値しかとらない変数は削除 # plotting.scatter_matrix(df.dropna(axis=1)[df.columns[:-1]], figsize=(20, 20), color=colors, alpha=0.5) # plt.show() """ # 主成分分析 dfs = df.apply(lambda x: (x-x.mean())/x.std(), axis=0).fillna(0) # データの正規化 pca = PCA() pca.fit(dfs.iloc[:, :12]) # データを主成分空間に写像 = 次元圧縮 feature = pca.transform(dfs.iloc[:, :12]) #plt.figure(figsize=(6, 6)) plt.scatter(feature[:, 0], feature[:, 1], alpha=0.5, color=colors) plt.title("Principal Component Analysis") plt.xlabel("The first principal component") plt.ylabel("The second principal component") plt.grid() plt.show() """ X = df.iloc[:, 1:12] # 説明変数(Column1は明らかに関係ないので外す) print(X.columns) y = df.iloc[:, 13] # 目的変数 print(X) print(y) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4) # 訓練データ・テストデータへのランダムな分割(40%がテスト60%が訓練) clf = LogisticRegression() #モデルの生成 clf.fit(X_train, y_train) #学習 # 正解率 (train) : 学習に用いたデータをどのくらい正しく予測できるか clf.score(X_train,y_train) # 正解率 (test) : 学習に用いなかったデータをどのくらい正しく予測できるか clf.score(X_test,y_test)

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

quickquip

2022/04/04 02:23 編集

なぜdecodeを書いたのですか? と思ったらsklearnの中のエラーですね……。 コード全体がないと答えが付く感じはしないです。 FAQであることに期待でしょうか。
inoino

2022/04/04 02:24

説明の仕方が良くなかったです。decodeをしたわけではなく、module内で行われていると思われます。
shiracamus

2022/04/04 02:32 編集

sklearn をインストールしたのは誰? sklearn が Python3 対応してないのでは? sklearn を Python3 対応の最新版に入れ替えてみてはいかがでしょう?

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

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

機械学習

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

Python

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