質問するログイン新規登録

質問編集履歴

3

質問を編集しました。

2021/12/30 07:48

投稿

Shuri31
Shuri31

スコア1

title CHANGED
File without changes
body CHANGED
@@ -8,144 +8,6 @@
8
8
 
9
9
  ![イメージ説明](9ba15e0e5b96ea8f8d87fa6cd225b642.png)
10
10
 
11
- ### 該当のソースコード
12
-
13
- ```python
14
- import streamlit as st
15
- import numpy as np
16
- import pandas as pd
17
- import sklearn
18
- from sklearn.ensemble import RandomForestRegressor
19
- from sklearn.metrics import mean_squared_error
20
-
21
-
22
- st.title("応募用紙に対する応募数を予測する")
23
-
24
- #回帰モデルの作成
25
-
26
- #データの読み込み
27
- train_y = pd.read_csv("train_y.csv", encoding="utf-8")
28
- train_X = pd.read_csv("train_x.csv", encoding="utf-8")
29
-
30
- #train_y["No."]をdropする
31
- train_y = train_y.drop(["No."], axis=1)
32
-
33
- #train_xのデータ整形(空白だけ・不要?なカラムの削除)
34
- train_X = train_X.dropna(axis=1, how='all')
35
- train_X = train_X.fillna(0)
36
- train_X = train_X.drop(["掲載期間 開始日", "掲載期間 終了日"], axis=1)
37
-
38
- #train_yとtrain_Xを連結して学習データとして利用する
39
- train = pd.concat([train_y.reset_index(drop=True), train_X.reset_index(drop=True)], axis=1)
40
-
41
- #データ変換と分割
42
- y = train["応募数 合計"]
43
- X = train.drop(["No.", "応募数 合計"], axis=1)
44
-
45
- y_array = np.array(y)
46
- X_array = np.array(X)
47
-
48
- #文章のデータ整形が難しかったので、文章のカラムを一括に学習データから外します。
49
- X_array = X.select_dtypes(exclude="object")
50
-
51
- from sklearn.model_selection import train_test_split
52
- X_train, X_test, y_train, y_test = train_test_split(X_array, y_array, test_size=0.4, random_state=0)
53
-
54
- #回帰モデル作成
55
- rfr = RandomForestRegressor(random_state=0)
56
- rfr.fit(X_train, y_train)
57
-
58
- y_pred = rfr.predict(X_test)
59
- # print(y_pred.shape)
60
-
61
- mse = np.sqrt(mean_squared_error(y_pred, y_test))
62
- st.write(f"Mean Squared Error:{mse:.3}")
63
-
64
- #ファイルがアップロードされるまでの処理を書く
65
- uploaded_file = st.file_uploader("Choose a file", type=["csv"])
66
-
67
- if uploaded_file is not None:
68
- test_X = pd.read_csv(uploaded_file).dropna(axis=1, how="all").fillna(0)
69
-
70
- #応募数合計の予測をするためのデータ成形
71
- test_X = test_X.drop(["掲載期間 開始日", "掲載期間 終了日"], axis=1)
72
-
73
- #文章のデータ整形が難しかったので、文章のカラムを一括に学習データから外します。
74
- test_X2 = test_X.drop(["No."], axis=1)
75
- test_X2 = test_X2.select_dtypes(exclude="object")
76
-
77
- #応募数合計の予測・データの予測
78
- test_pred = rfr.predict(test_X2)
79
- print(test_pred.shape)
80
-
81
- test_pred = pd.DataFrame(test_pred, columns=["応募数 合計"])
82
- result = pd.concat([test_X["No."], test_pred], axis=1)
83
- result = result.reset_index(drop=True)
84
-
85
- st.dataframe(result)
86
- st.download_button(label = '予測結果をダウンロード', data=result.to_csv(index=False).encode('utf-8'), file_name="result.csv")
87
- ```
88
-
89
- ```.gitignore
90
- *.csv
91
- ```
92
-
93
- ```Herokuのログ
94
- 2021-12-29T08:58:33.633044+00:00 app[worker.1]: streamlit run main.py [ARGUMENTS]
95
- 2021-12-29T08:58:33.633698+00:00 app[worker.1]: Traceback (most recent call last):
96
- 2021-12-29T08:58:33.633702+00:00 app[worker.1]: File "/app/main.py", line 19, in <module>
97
- 2021-12-29T08:58:33.633849+00:00 app[worker.1]: train_y = pd.read_csv("train_y.csv", encoding="utf-8")
98
- 2021-12-29T08:58:33.633854+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/util/_decorators.py", line 311, in wrapper
99
- 2021-12-29T08:58:33.633979+00:00 app[worker.1]: return func(*args, **kwargs)
100
- 2021-12-29T08:58:33.633989+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv
101
- 2021-12-29T08:58:33.634151+00:00 app[worker.1]: return _read(filepath_or_buffer, kwds)
102
- 2021-12-29T08:58:33.634161+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 482, in _read
103
- 2021-12-29T08:58:33.634299+00:00 app[worker.1]: parser = TextFileReader(filepath_or_buffer, **kwds)
104
- 2021-12-29T08:58:33.634309+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 811, in __init__
105
- 2021-12-29T08:58:33.634517+00:00 app[worker.1]: self._engine = self._make_engine(self.engine)
106
- 2021-12-29T08:58:33.634533+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1040, in _make_engine
107
- 2021-12-29T08:58:33.634756+00:00 app[worker.1]: return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
108
- 2021-12-29T08:58:33.634758+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 51, in __init__
109
- 2021-12-29T08:58:33.634832+00:00 app[worker.1]: self._open_handles(src, kwds)
110
- 2021-12-29T08:58:33.634841+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/base_parser.py", line 222, in _open_handles
111
- 2021-12-29T08:58:33.634933+00:00 app[worker.1]: self.handles = get_handle(
112
- 2021-12-29T08:58:33.634943+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/common.py", line 702, in get_handle
113
- 2021-12-29T08:58:33.635111+00:00 app[worker.1]: handle = open(
114
- 2021-12-29T08:58:33.635145+00:00 app[worker.1]: FileNotFoundError: [Errno 2] No such file or directory: 'train_y.csv'
115
- 2021-12-29T09:11:36.477338+00:00 heroku[worker.1]: State changed from crashed to starting
116
- 2021-12-29T09:11:54.701484+00:00 heroku[worker.1]: Starting process with command `python main.py`
117
- 2021-12-29T09:11:55.332453+00:00 heroku[worker.1]: State changed from starting to up
118
- 2021-12-29T09:12:02.838739+00:00 heroku[worker.1]: Process exited with status 1
119
- 2021-12-29T09:12:02.460135+00:00 app[worker.1]: 2021-12-29 09:12:02.459
120
- 2021-12-29T09:12:02.460162+00:00 app[worker.1]: Warning: to view this Streamlit app on a browser, run it with the following
121
- 2021-12-29T09:12:02.460163+00:00 app[worker.1]: command:
122
- 2021-12-29T09:12:02.460163+00:00 app[worker.1]:
123
- 2021-12-29T09:12:02.460163+00:00 app[worker.1]: streamlit run main.py [ARGUMENTS]
124
- 2021-12-29T09:12:02.460876+00:00 app[worker.1]: Traceback (most recent call last):
125
- 2021-12-29T09:12:02.460880+00:00 app[worker.1]: File "/app/main.py", line 19, in <module>
126
- 2021-12-29T09:12:02.461008+00:00 app[worker.1]: train_y = pd.read_csv("train_y.csv", encoding="utf-8")
127
- 2021-12-29T09:12:02.461021+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/util/_decorators.py", line 311, in wrapper
128
- 2021-12-29T09:12:02.461149+00:00 app[worker.1]: return func(*args, **kwargs)
129
- 2021-12-29T09:12:02.461157+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 586, in read_csv
130
- 2021-12-29T09:12:02.461313+00:00 app[worker.1]: return _read(filepath_or_buffer, kwds)
131
- 2021-12-29T09:12:02.461322+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 482, in _read
132
- 2021-12-29T09:12:02.461506+00:00 app[worker.1]: parser = TextFileReader(filepath_or_buffer, **kwds)
133
- 2021-12-29T09:12:02.461508+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 811, in __init__
134
- 2021-12-29T09:12:02.463039+00:00 app[worker.1]: self._engine = self._make_engine(self.engine)
135
- 2021-12-29T09:12:02.463051+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1040, in _make_engine
136
- 2021-12-29T09:12:02.463055+00:00 app[worker.1]: return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
137
- 2021-12-29T09:12:02.463056+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 51, in __init__
138
- 2021-12-29T09:12:02.463056+00:00 app[worker.1]: self._open_handles(src, kwds)
139
- 2021-12-29T09:12:02.463056+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/parsers/base_parser.py", line 222, in _open_handles
140
- 2021-12-29T09:12:02.463057+00:00 app[worker.1]: self.handles = get_handle(
141
- 2021-12-29T09:12:02.463057+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.9/site-packages/pandas/io/common.py", line 702, in get_handle
142
- 2021-12-29T09:12:02.463058+00:00 app[worker.1]: handle = open(
143
- 2021-12-29T09:12:02.463058+00:00 app[worker.1]: FileNotFoundError: [Errno 2] No such file or directory: 'train_y.csv'
144
- 2021-12-29T09:12:02.901159+00:00 heroku[worker.1]: State changed from up to crashed
145
- 2021-12-29T09:16:50.750172+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=dip-intern-asaitodev.herokuapp.com request_id=1d035980-620b-4c62-aaaf-b16be9ce2c11 fwd="92.202.111.147" dyno= connect= service= status=503 bytes= protocol=https
146
- 2021-12-29T09:16:51.189584+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=dip-intern-asaitodev.herokuapp.com request_id=3e6e253c-7beb-4d7a-a00d-819c15311d4f fwd="92.202.111.147" dyno= connect= service= status=503 bytes= protocol=https
147
- ```
148
-
149
11
  ### 試したこと
150
12
 
151
13
  ①code=14ということなので↓を記述

2

.gitignoreを追加しました!

2021/12/30 07:48

投稿

Shuri31
Shuri31

スコア1

title CHANGED
File without changes
body CHANGED
@@ -86,6 +86,10 @@
86
86
  st.download_button(label = '予測結果をダウンロード', data=result.to_csv(index=False).encode('utf-8'), file_name="result.csv")
87
87
  ```
88
88
 
89
+ ```.gitignore
90
+ *.csv
91
+ ```
92
+
89
93
  ```Herokuのログ
90
94
  2021-12-29T08:58:33.633044+00:00 app[worker.1]: streamlit run main.py [ARGUMENTS]
91
95
  2021-12-29T08:58:33.633698+00:00 app[worker.1]: Traceback (most recent call last):

1

動かしたいアプリのコードを掲載しました。

2021/12/29 13:58

投稿

Shuri31
Shuri31

スコア1

title CHANGED
File without changes
body CHANGED
@@ -10,7 +10,83 @@
10
10
 
11
11
  ### 該当のソースコード
12
12
 
13
- ```bash
13
+ ```python
14
+ import streamlit as st
15
+ import numpy as np
16
+ import pandas as pd
17
+ import sklearn
18
+ from sklearn.ensemble import RandomForestRegressor
19
+ from sklearn.metrics import mean_squared_error
20
+
21
+
22
+ st.title("応募用紙に対する応募数を予測する")
23
+
24
+ #回帰モデルの作成
25
+
26
+ #データの読み込み
27
+ train_y = pd.read_csv("train_y.csv", encoding="utf-8")
28
+ train_X = pd.read_csv("train_x.csv", encoding="utf-8")
29
+
30
+ #train_y["No."]をdropする
31
+ train_y = train_y.drop(["No."], axis=1)
32
+
33
+ #train_xのデータ整形(空白だけ・不要?なカラムの削除)
34
+ train_X = train_X.dropna(axis=1, how='all')
35
+ train_X = train_X.fillna(0)
36
+ train_X = train_X.drop(["掲載期間 開始日", "掲載期間 終了日"], axis=1)
37
+
38
+ #train_yとtrain_Xを連結して学習データとして利用する
39
+ train = pd.concat([train_y.reset_index(drop=True), train_X.reset_index(drop=True)], axis=1)
40
+
41
+ #データ変換と分割
42
+ y = train["応募数 合計"]
43
+ X = train.drop(["No.", "応募数 合計"], axis=1)
44
+
45
+ y_array = np.array(y)
46
+ X_array = np.array(X)
47
+
48
+ #文章のデータ整形が難しかったので、文章のカラムを一括に学習データから外します。
49
+ X_array = X.select_dtypes(exclude="object")
50
+
51
+ from sklearn.model_selection import train_test_split
52
+ X_train, X_test, y_train, y_test = train_test_split(X_array, y_array, test_size=0.4, random_state=0)
53
+
54
+ #回帰モデル作成
55
+ rfr = RandomForestRegressor(random_state=0)
56
+ rfr.fit(X_train, y_train)
57
+
58
+ y_pred = rfr.predict(X_test)
59
+ # print(y_pred.shape)
60
+
61
+ mse = np.sqrt(mean_squared_error(y_pred, y_test))
62
+ st.write(f"Mean Squared Error:{mse:.3}")
63
+
64
+ #ファイルがアップロードされるまでの処理を書く
65
+ uploaded_file = st.file_uploader("Choose a file", type=["csv"])
66
+
67
+ if uploaded_file is not None:
68
+ test_X = pd.read_csv(uploaded_file).dropna(axis=1, how="all").fillna(0)
69
+
70
+ #応募数合計の予測をするためのデータ成形
71
+ test_X = test_X.drop(["掲載期間 開始日", "掲載期間 終了日"], axis=1)
72
+
73
+ #文章のデータ整形が難しかったので、文章のカラムを一括に学習データから外します。
74
+ test_X2 = test_X.drop(["No."], axis=1)
75
+ test_X2 = test_X2.select_dtypes(exclude="object")
76
+
77
+ #応募数合計の予測・データの予測
78
+ test_pred = rfr.predict(test_X2)
79
+ print(test_pred.shape)
80
+
81
+ test_pred = pd.DataFrame(test_pred, columns=["応募数 合計"])
82
+ result = pd.concat([test_X["No."], test_pred], axis=1)
83
+ result = result.reset_index(drop=True)
84
+
85
+ st.dataframe(result)
86
+ st.download_button(label = '予測結果をダウンロード', data=result.to_csv(index=False).encode('utf-8'), file_name="result.csv")
87
+ ```
88
+
89
+ ```Herokuのログ
14
90
  2021-12-29T08:58:33.633044+00:00 app[worker.1]: streamlit run main.py [ARGUMENTS]
15
91
  2021-12-29T08:58:33.633698+00:00 app[worker.1]: Traceback (most recent call last):
16
92
  2021-12-29T08:58:33.633702+00:00 app[worker.1]: File "/app/main.py", line 19, in <module>