質問編集履歴

4

データの追加

2019/12/26 04:10

投稿

Fnaniel
Fnaniel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,40 @@
22
22
 
23
23
 
24
24
 
25
+ A B C D E F Name
26
+
27
+ 50000 120 0,0,1,0,0 0,0,1 0,1,0,0 0,0,0,1 1
28
+
29
+ 35000 80 0,0,1,0,0 0,0,1 0,1,0,0 0,1,0,0 0
30
+
31
+ 20000 50 1,0,0,0,0 0,1,0 0,0,1,0 0,0,0,1 1
32
+
33
+ 42000 65 0,0,0,0,1 0,0,1 1,0,0,0 0,0,0,1 1
34
+
35
+ 51000 110 0,0,0,1,0 1,0,0 0,1,0,0 0,0,0,1 0
36
+
37
+ 23000 55 1,0,0,0,0 1,0,0 0,0,0,1 1,0,0,0 1
38
+
39
+ 38000 85 0,0,0,1,0 1,0,0 0,0,0,1 0,0,0,1 0
40
+
41
+ 46000 95 1,0,0,0,0 0,1,0 0,0,1,0 0,1,0,0 0
42
+
43
+ 4000 90 1,0,0,0,0 0,0,1 1,0,0,0 0,0,0,1 1
44
+
45
+ 19000 45 0,0,0,1,0 0,0,1 0,0,1,0 0,0,0,1 0
46
+
47
+
48
+
49
+ これをコピーしてExcelの「A1~G11」にテキスト形式で張り付けたものと実データは全く一緒です.
50
+
51
+
52
+
53
+ このデータは10行のテストデータですが,
54
+
55
+ 最終的には2000行あるデータで二値分類を行いたいと考えています.
56
+
57
+
58
+
25
59
 
26
60
 
27
61
 
@@ -30,67 +64,123 @@
30
64
 
31
65
 
32
66
 
67
+ ValueError Traceback (most recent call last)
68
+
69
+ <ipython-input-11-bdb8fb2b37d7> in <module>
70
+
71
+ 1 from sklearn.tree import DecisionTreeClassifier
72
+
73
+ 2 model = DecisionTreeClassifier(max_depth=3, random_state=0)
74
+
75
+ ----> 3 model.fit(X, Y)
76
+
77
+ 4 model.predict(X)
78
+
79
+
80
+
81
+ ~\Anaconda3\lib\site-packages\sklearn\tree\tree.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
82
+
83
+ 799 sample_weight=sample_weight,
84
+
85
+ 800 check_input=check_input,
86
+
87
+ --> 801 X_idx_sorted=X_idx_sorted)
88
+
89
+ 802 return self
90
+
91
+ 803
92
+
93
+
94
+
95
+ ~\Anaconda3\lib\site-packages\sklearn\tree\tree.py in fit(self, X, y, sample_weight, check_input, X_idx_sorted)
96
+
97
+ 114 random_state = check_random_state(self.random_state)
98
+
99
+ 115 if check_input:
100
+
101
+ --> 116 X = check_array(X, dtype=DTYPE, accept_sparse="csc")
102
+
103
+ 117 y = check_array(y, ensure_2d=False, dtype=None)
104
+
105
+ 118 if issparse(X):
106
+
107
+
108
+
109
+ ~\Anaconda3\lib\site-packages\sklearn\utils\validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
110
+
111
+ 525 try:
112
+
113
+ 526 warnings.simplefilter('error', ComplexWarning)
114
+
115
+ --> 527 array = np.asarray(array, dtype=dtype, order=order)
116
+
117
+ 528 except ComplexWarning:
118
+
119
+ 529 raise ValueError("Complex data not supported\n"
120
+
121
+
122
+
123
+ ~\Anaconda3\lib\site-packages\numpy\core\numeric.py in asarray(a, dtype, order)
124
+
125
+ 536
126
+
127
+ 537 """
128
+
129
+ --> 538 return array(a, dtype, copy=False, order=order)
130
+
131
+ 539
132
+
133
+ 540
134
+
135
+
136
+
137
+ ValueError: could not convert string to float: '0,0,1,0,0'
138
+
139
+
140
+
141
+ ### 該当のソースコード
142
+
143
+
144
+
145
+ ```Python
146
+
147
+ import pandas as pd
148
+
149
+
150
+
151
+ df = pd.read_excel(r'C:\Users\AAA.xlsx') #エクセルファイルの読み込み
152
+
153
+ df #エクセルファイルの表示
154
+
155
+
156
+
157
+ df['Name'].value_counts() #「Name」列の「1」,「0」の各個数表示
158
+
159
+
160
+
161
+ X = df.drop('Name', axis=1) #「Name」列以外の列を説明変数Xに設定
162
+
163
+ Y = df['Name']    #「Name」列を目的変数Yに設定
164
+
165
+ X.head()
166
+
167
+
168
+
169
+ from sklearn.tree import DecisionTreeClassifier #機械学習ライブラリscikit-learnの中からDecisionTreeClassifier(決定木)を呼び出す
170
+
171
+ model = DecisionTreeClassifier(max_depth=3, random_state=0) #modelという名前で決定木を使う宣言(モデルの条件として、max_depth、random_state)
172
+
173
+ model.fit(X, Y) #教師データを先ほど宣言したモデルに代入して学習を実行し、機械学習モデルの作成
174
+
175
+ model.predict(X)
176
+
177
+
178
+
33
179
  ```
34
180
 
35
- NameError Traceback (most recent call last)
181
+
36
-
37
- <ipython-input-1-587453287380> in <module>
182
+
38
-
39
- 1 from sklearn.tree import DecisionTreeClassifier
40
-
41
- 2 model = DecisionTreeClassifier(max_depth=5, random_state=0)
42
-
43
- ----> 3 model.fit(X, Y)
183
+ from sklern~ 以下よりエラーが生じます.
44
-
45
- 4 model.predict(X)
46
-
47
-
48
-
49
- NameError: name 'X' is not defined
50
-
51
- ```
52
-
53
-
54
-
55
- ### 該当のソースコード
56
-
57
-
58
-
59
- ```Python
60
-
61
- import pandas as pd
62
-
63
-
64
-
65
- df = pd.read_excel(r'C:\Users\AAA.xlsx') #エクセルファイルの読み込み
66
-
67
- df #エクセルファイルの表示
68
-
69
-
70
-
71
- df['Name'].value_counts() #「Name」列の「1」,「0」の各個数表示
72
-
73
-
74
-
75
- X = df.drop('Name', axis=1) #「Name」列以外の列を説明変数Xに設定
76
-
77
- Y = df['Name']    #「Name」列を目的変数Yに設定
78
-
79
- X.head()
80
-
81
-
82
-
83
- from sklearn.tree import DecisionTreeClassifier #機械学習ライブラリscikit-learnの中からDecisionTreeClassifier(決定木)を呼び出す
84
-
85
- model = DecisionTreeClassifier(max_depth=3, random_state=0) #modelという名前で決定木を使う宣言(モデルの条件として、max_depth、random_state)
86
-
87
- model.fit(X, Y) #教師データを先ほど宣言したモデルに代入して学習を実行し、機械学習モデルの作成
88
-
89
- model.predict(X)
90
-
91
-
92
-
93
- ```
94
184
 
95
185
 
96
186
 

3

エクセルファイルの追加

2019/12/26 04:10

投稿

Fnaniel
Fnaniel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,10 @@
19
19
 
20
20
 
21
21
  上記サイトに似たような条件のロジスティック回帰の例が記載されていますが,このような方法が妥当なのでしょうか...
22
+
23
+
24
+
25
+
22
26
 
23
27
 
24
28
 

2

ソースコードの追記,説明.エラーメッセージの記載.

2019/12/26 03:01

投稿

Fnaniel
Fnaniel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,21 @@
28
28
 
29
29
  ```
30
30
 
31
+ NameError Traceback (most recent call last)
32
+
33
+ <ipython-input-1-587453287380> in <module>
34
+
35
+ 1 from sklearn.tree import DecisionTreeClassifier
36
+
37
+ 2 model = DecisionTreeClassifier(max_depth=5, random_state=0)
38
+
39
+ ----> 3 model.fit(X, Y)
40
+
31
- エラーメッセージ
41
+ 4 model.predict(X)
42
+
43
+
44
+
45
+ NameError: name 'X' is not defined
32
46
 
33
47
  ```
34
48
 
@@ -38,27 +52,41 @@
38
52
 
39
53
 
40
54
 
55
+ ```Python
56
+
41
57
  import pandas as pd
42
58
 
43
59
 
44
60
 
45
- df = pd.read_excel(r'C:~~~~.xlsx')
61
+ df = pd.read_excel(r'C:\Users\AAA.xlsx') #エクセルファイルの読み込み
62
+
63
+ df #エクセルファイルの表示
46
64
 
47
65
 
48
66
 
49
- df
67
+ df['Name'].value_counts() #「Name」列の「1」,「0」の各個数表示
50
68
 
51
69
 
52
70
 
71
+ X = df.drop('Name', axis=1) #「Name」列以外の列を説明変数Xに設定
72
+
53
- df['Name'].value_counts()
73
+ Y = df['Name']    #「Name」列を目的変数Yに設定
74
+
75
+ X.head()
54
76
 
55
77
 
56
78
 
57
- X = df.drop('Name', axis=1)
79
+ from sklearn.tree import DecisionTreeClassifier #機械学習ライブラリscikit-learnの中からDecisionTreeClassifier(決定木)を呼び出す
58
80
 
59
- Y = df['Name']
81
+ model = DecisionTreeClassifier(max_depth=3, random_state=0) #modelという名前で決定木を使う宣言(モデルの条件として、max_depth、random_state)
60
82
 
83
+ model.fit(X, Y) #教師データを先ほど宣言したモデルに代入して学習を実行し、機械学習モデルの作成
84
+
61
- X.head()
85
+ model.predict(X)
86
+
87
+
88
+
89
+ ```
62
90
 
63
91
 
64
92
 
@@ -66,7 +94,11 @@
66
94
 
67
95
 
68
96
 
97
+ https://news.mynavi.jp/article/Python_ML-5/
98
+
69
- ここ問題に対して試しことを記載してくさい。
99
+ 上記のサイト沿って動かしてただけです.
100
+
101
+ 説明変数が数値じゃないのでエラーが出たんだと思います.
70
102
 
71
103
 
72
104
 

1

該当のソースコードの箇所に現在のプログラムを記載しました.

2019/12/26 01:58

投稿

Fnaniel
Fnaniel

スコア5

test CHANGED
File without changes
test CHANGED
@@ -38,11 +38,27 @@
38
38
 
39
39
 
40
40
 
41
- ```ここに言語名を入力
41
+ import pandas as pd
42
42
 
43
- ソースコード
44
43
 
44
+
45
+ df = pd.read_excel(r'C:~~~~.xlsx')
46
+
47
+
48
+
45
- ```
49
+ df
50
+
51
+
52
+
53
+ df['Name'].value_counts()
54
+
55
+
56
+
57
+ X = df.drop('Name', axis=1)
58
+
59
+ Y = df['Name']
60
+
61
+ X.head()
46
62
 
47
63
 
48
64