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

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

新規登録して質問してみよう
ただいま回答率
85.35%
scikit-learn

scikit-learnは、Pythonで使用できるオープンソースプロジェクトの機械学習用ライブラリです。多くの機械学習アルゴリズムが実装されていますが、どのアルゴリズムも同じような書き方で利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

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

Q&A

解決済

1回答

1087閲覧

sckit-learnデータセット作成方法の途中でエラーが発生しました。

erisawa

総合スコア12

scikit-learn

scikit-learnは、Pythonで使用できるオープンソースプロジェクトの機械学習用ライブラリです。多くの機械学習アルゴリズムが実装されていますが、どのアルゴリズムも同じような書き方で利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

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

0グッド

1クリップ

投稿2020/04/20 06:47

前提・実現したいこと

メーターの数字を読み取るプログラムを作成しています。
機械学習でsckit-learnを用いて行いたいと考えており、
自分でデータセットを作り学習させたいと考えています。
言語はpython3です。
suuji0420.pyでに作成したデータセットを保存し、test.pyで実行すると、以下のようなエラーが出てきます。

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

File "C:\Users\erifu\Desktop\data0417\suuji_0420.py", line 56, in load_Suuji suuji=Number(data, target, target_names, images) TypeError: Number() takes no arguments

###該当のソースコード(suuji0420.py)

from PIL import Image import numpy as np import os,glob #画像フォルダのへの絶対パス ROOT_DIR="/Users/erifu/Desktop/data0417/" #画像フォルダー名 categories=["2","7","8"] #クラス class Number(): def _init_(self,data,target,target_names,images): self.data=data self.target=target self.target_names=target_names self.images=images #キー(インスタンス変数)を取得するメソッド def keys(self): print("[data,target,target_names,images]") #画像データをnumpy形式に変換してデータセットを作成 def load_Suuji(): data=[]#画像の一次元データを格納するリスト target=[]#ラベル(正解)の情報を格納するリスト target_names=["2","7","8"] images=[]#画像の二次元データを格納するリスト for label,category in enumerate(categories): file_dir=ROOT_DIR + category #すべての画像をとってくる files=glob.glob(file_dir + "/*.jpg") print("---------{}の画像をnumpy形式に変換し、Listに格納中---------".format(category)) for i,f in enumerate(files): img=Image.open(f) img=img.convert('L')#画像をフレースケールに変換 img=img.resize((84,84)) imgdata=np.asarray(img)#numpy配列に変換 images.append(imgdata)#画像データの二次元配列 data.append(imgdata.flatten())#画像データの一次元配列 target.append(label)#正解ラベルを格納 print("------------リストをnumpy形式に変換中-----------") data=np.array(data) target=np.array(target) target_names=np.array(target_names) images=np.array(images) #インスタンスを生成 suuji=Number(data, target, target_names, images) return suuji

###該当のソースコード

import suuji_0420 a=suuji_0420.load_Suuji() print(a.data.shape) print(a.keys())

"""

補足情報

最終的にはsckit-learnでの画像認識の機械学習を行いたいです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python のコンストラクタは _init_ ではなく __init__ です。init の前後に _ が 2 個ずつ。

diff

1 #クラス 2 class Number(): 3- def _init_(self,data,target,target_names,images): 4+ def __init__(self,data,target,target_names,images):

投稿2020/04/20 10:51

hoshi-takanori

総合スコア7901

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

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

erisawa

2020/04/21 01:03

ありがとうございました。 解決いたしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問