import%20marimo%0A%0A__generated_with%20%3D%20%220.23.16%22%0Aapp%20%3D%20marimo.App(width%3D%22full%22)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%20%20%20%20import%20matplotlib.pyplot%20as%20plt%0A%20%20%20%20import%20plotly.express%20as%20px%0A%20%20%20%20import%20seaborn%20as%20sns%0A%0A%20%20%20%20import%20marimo_sandbox.jp_font%20as%20jp%0A%20%20%20%20from%20marimo_sandbox.data%20import%20load_titanic%0A%0A%20%20%20%20jp.setup_japanese_font()%0A%20%20%20%20return%20load_titanic%2C%20mo%2C%20plt%2C%20px%2C%20sns%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20%E3%82%BF%E3%82%A4%E3%82%BF%E3%83%8B%E3%83%83%E3%82%AF%E5%8F%B7%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%0A%0A%20%20%20%20pandas%20%2F%20seaborn%20%2F%20plotly%20%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E6%8E%A2%E7%B4%A2%E7%9A%84%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90(EDA)%E3%81%AE%E3%83%87%E3%83%A2%E3%80%82%0A%20%20%20%20%E4%B8%8B%E3%81%AE%20UI%20%E8%A6%81%E7%B4%A0%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99%E3%81%A8%E3%80%81%E4%BE%9D%E5%AD%98%E3%81%99%E3%82%8B%E3%82%BB%E3%83%AB%E3%81%A0%E3%81%91%E3%81%8C%E8%87%AA%E5%8B%95%E3%81%A7%E5%86%8D%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(load_titanic)%3A%0A%20%20%20%20df%20%3D%20load_titanic()%0A%20%20%20%20return%20(df%2C)%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(df%2C%20mo)%3A%0A%20%20%20%20mo.ui.table(df.head(20))%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E3%83%87%E3%83%BC%E3%82%BF%E6%A6%82%E8%A6%81%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(df%2C%20mo)%3A%0A%20%20%20%20summary%20%3D%20df.describe(include%3D%22all%22).T.reset_index().rename(columns%3D%7B%22index%22%3A%20%22column%22%7D)%0A%20%20%20%20mo.ui.table(summary)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%81%A8%E3%82%AF%E3%83%AD%E3%82%B9%E9%9B%86%E8%A8%88%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(mo)%3A%0A%20%20%20%20selected_class%20%3D%20mo.ui.dropdown(%0A%20%20%20%20%20%20%20%20options%3D%5B%22%E5%85%A8%E3%82%AF%E3%83%A9%E3%82%B9%22%5D%20%2B%20%5B%22First%22%2C%20%22Second%22%2C%20%22Third%22%5D%2C%0A%20%20%20%20%20%20%20%20value%3D%22%E5%85%A8%E3%82%AF%E3%83%A9%E3%82%B9%22%2C%0A%20%20%20%20%20%20%20%20label%3D%22%E5%AE%A2%E5%AE%A4%E3%82%AF%E3%83%A9%E3%82%B9%22%2C%0A%20%20%20%20)%0A%20%20%20%20return%20(selected_class%2C)%0A%0A%0A%40app.cell%0Adef%20_(df%2C%20mo%2C%20selected_class)%3A%0A%20%20%20%20filtered%20%3D%20(%0A%20%20%20%20%20%20%20%20df%20if%20selected_class.value%20%3D%3D%20%22%E5%85%A8%E3%82%AF%E3%83%A9%E3%82%B9%22%20else%20df%5Bdf%5B%22class%22%5D%20%3D%3D%20selected_class.value%5D%0A%20%20%20%20)%0A%20%20%20%20mo.md(f%22%23%23%23%20%E5%AF%BE%E8%B1%A1%E3%83%87%E3%83%BC%E3%82%BF%3A%20%7Blen(filtered)%7D%20%E4%BB%B6%20(%E3%82%AF%E3%83%A9%E3%82%B9%3A%20%7Bselected_class.value%7D)%22)%0A%20%20%20%20return%20(filtered%2C)%0A%0A%0A%40app.cell%0Adef%20_(mo%2C%20selected_class)%3A%0A%20%20%20%20mo.hstack(%5Bselected_class%5D%2C%20justify%3D%22start%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(filtered%2C%20mo)%3A%0A%20%20%20%20crosstab%20%3D%20(%0A%20%20%20%20%20%20%20%20filtered.groupby(%5B%22sex%22%2C%20%22survived%22%5D)%0A%20%20%20%20%20%20%20%20.size()%0A%20%20%20%20%20%20%20%20.reset_index(name%3D%22count%22)%0A%20%20%20%20%20%20%20%20.pivot(index%3D%22sex%22%2C%20columns%3D%22survived%22%2C%20values%3D%22count%22)%0A%20%20%20%20%20%20%20%20.rename(columns%3D%7B0%3A%20%22%E6%AD%BB%E4%BA%A1%22%2C%201%3A%20%22%E7%94%9F%E5%AD%98%22%7D)%0A%20%20%20%20%20%20%20%20.fillna(0)%0A%20%20%20%20%20%20%20%20.astype(int)%0A%20%20%20%20)%0A%20%20%20%20mo.ui.table(crosstab.reset_index())%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E5%8F%AF%E8%A6%96%E5%8C%96%20(plotly%20%2F%20matplotlib)%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(filtered%2C%20px)%3A%0A%20%20%20%20fig1%20%3D%20px.histogram(%0A%20%20%20%20%20%20%20%20filtered%2C%0A%20%20%20%20%20%20%20%20x%3D%22age%22%2C%0A%20%20%20%20%20%20%20%20color%3D%22survived%22%2C%0A%20%20%20%20%20%20%20%20barmode%3D%22overlay%22%2C%0A%20%20%20%20%20%20%20%20labels%3D%7B%22age%22%3A%20%22%E5%B9%B4%E9%BD%A2%22%2C%20%22survived%22%3A%20%22%E7%94%9F%E5%AD%98%22%2C%20%22count%22%3A%20%22%E4%BA%BA%E6%95%B0%22%7D%2C%0A%20%20%20%20%20%20%20%20title%3D%22%E5%B9%B4%E9%BD%A2%E3%81%A8%E7%94%9F%E5%AD%98%E3%81%AE%E9%96%A2%E4%BF%82%22%2C%0A%20%20%20%20)%0A%20%20%20%20fig1.update_layout(template%3D%22plotly_white%22)%0A%20%20%20%20fig1%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(filtered%2C%20px)%3A%0A%20%20%20%20fig2%20%3D%20px.bar(%0A%20%20%20%20%20%20%20%20filtered.groupby(%5B%22class%22%2C%20%22survived%22%5D%2C%20as_index%3DFalse)%0A%20%20%20%20%20%20%20%20.size()%0A%20%20%20%20%20%20%20%20.rename(columns%3D%7B%22size%22%3A%20%22count%22%7D)%2C%0A%20%20%20%20%20%20%20%20x%3D%22class%22%2C%0A%20%20%20%20%20%20%20%20y%3D%22count%22%2C%0A%20%20%20%20%20%20%20%20color%3D%22survived%22%2C%0A%20%20%20%20%20%20%20%20barmode%3D%22group%22%2C%0A%20%20%20%20%20%20%20%20labels%3D%7B%22class%22%3A%20%22%E5%AE%A2%E5%AE%A4%E3%82%AF%E3%83%A9%E3%82%B9%22%2C%20%22count%22%3A%20%22%E4%BA%BA%E6%95%B0%22%2C%20%22survived%22%3A%20%22%E7%94%9F%E5%AD%98%22%7D%2C%0A%20%20%20%20%20%20%20%20title%3D%22%E5%AE%A2%E5%AE%A4%E3%82%AF%E3%83%A9%E3%82%B9%E5%88%A5%E3%81%AE%E7%94%9F%E5%AD%98%E6%95%B0%22%2C%0A%20%20%20%20)%0A%20%20%20%20fig2.update_layout(template%3D%22plotly_white%22)%0A%20%20%20%20fig2%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(filtered%2C%20mo%2C%20plt%2C%20sns)%3A%0A%20%20%20%20fig3%2C%20ax%20%3D%20plt.subplots(figsize%3D(8%2C%205))%0A%20%20%20%20pivot%20%3D%20filtered.pivot_table(%0A%20%20%20%20%20%20%20%20index%3D%22class%22%2C%20columns%3D%22sex%22%2C%20values%3D%22survived%22%2C%20aggfunc%3D%22mean%22%0A%20%20%20%20)%0A%20%20%20%20sns.heatmap(pivot%2C%20annot%3DTrue%2C%20fmt%3D%22.1%25%22%2C%20cmap%3D%22RdBu_r%22%2C%20ax%3Dax)%0A%20%20%20%20ax.set_title(%22%E3%82%AF%E3%83%A9%E3%82%B9%20%C3%97%20%E6%80%A7%E5%88%A5%20%E3%81%AE%E7%94%9F%E5%AD%98%E7%8E%87%22)%0A%20%20%20%20ax.set_xlabel(%22%E6%80%A7%E5%88%A5%22)%0A%20%20%20%20ax.set_ylabel(%22%E5%AE%A2%E5%AE%A4%E3%82%AF%E3%83%A9%E3%82%B9%22)%0A%20%20%20%20mo.mpl.interactive(fig3)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(df%2C%20px)%3A%0A%20%20%20%20fig4%20%3D%20px.scatter(%0A%20%20%20%20%20%20%20%20df%2C%0A%20%20%20%20%20%20%20%20x%3D%22age%22%2C%0A%20%20%20%20%20%20%20%20y%3D%22fare%22%2C%0A%20%20%20%20%20%20%20%20color%3D%22class%22%2C%0A%20%20%20%20%20%20%20%20hover_data%3D%5B%22who%22%2C%20%22alive%22%5D%2C%0A%20%20%20%20%20%20%20%20labels%3D%7B%22age%22%3A%20%22%E5%B9%B4%E9%BD%A2%22%2C%20%22fare%22%3A%20%22%E9%81%8B%E8%B3%83%22%2C%20%22class%22%3A%20%22%E5%AE%A2%E5%AE%A4%E3%82%AF%E3%83%A9%E3%82%B9%22%7D%2C%0A%20%20%20%20%20%20%20%20title%3D%22%E5%B9%B4%E9%BD%A2%E3%81%A8%E9%81%8B%E8%B3%83%E3%81%AE%E6%95%A3%E5%B8%83%E5%9B%B3%22%2C%0A%20%20%20%20)%0A%20%20%20%20fig4.update_layout(template%3D%22plotly_white%22)%0A%20%20%20%20fig4%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo)%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%23%20%E6%B0%97%E3%81%A5%E3%81%8D%E3%81%AE%E4%BE%8B%0A%0A%20%20%20%20-%20%E5%A5%B3%E6%80%A7%E3%81%AE%E7%94%9F%E5%AD%98%E7%8E%87%E3%81%8C%E7%94%B7%E6%80%A7%E3%82%88%E3%82%8A%E9%A1%95%E8%91%97%E3%81%AB%E9%AB%98%E3%81%84%0A%20%20%20%20-%20%E5%AE%A2%E5%AE%A4%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%8C%E4%B8%8A%E3%81%8C%E3%82%8B%E3%81%BB%E3%81%A9%E7%94%9F%E5%AD%98%E7%8E%87%E3%81%8C%E9%AB%98%E3%81%84%0A%20%20%20%20-%20%E3%81%93%E3%82%8C%E3%82%89%E3%81%AE%E7%89%B9%E5%BE%B4%E3%81%AF%E6%AC%A1%E3%81%AE%20%5Bml_pipeline.py%5D(.%2Fml_pipeline.py)%20%E3%81%A7%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AB%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
2ec24fcf8abb576f3fabb37097ab6724