import%20marimo%0A%0A__generated_with%20%3D%20%220.23.8%22%0Aapp%20%3D%20marimo.App(width%3D%22medium%22)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20return%20(mo%2C)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20%23%20importation%20des%20donn%C3%A9es%0A%20%20%20%20import%20pandas%0A%20%20%20%20df%20%3D%20pandas.read_excel(%22autos_marimo.xlsx%22)%0A%20%20%20%20df%0A%20%20%20%20return%20(df%2C)%0A%0A%0A%40app.cell%0Adef%20_(df)%3A%0A%20%20%20%20%23%20variables%20actives%0A%20%20%20%20X%20%3D%20df.drop(columns%3D%5B%22Modele%22%5D)%0A%20%20%20%20X.info()%0A%20%20%20%20return%20(X%2C)%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20%23%20pour%20%C3%A9viter%20le%20warning%20des%20K-Means%0A%20%20%20%20import%20os%0A%20%20%20%20os.environ%5B%22OMP_NUM_THREADS%22%5D%20%3D%20%221%22%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(X)%3A%0A%20%20%20%20%23%20standardisation%0A%20%20%20%20from%20sklearn.preprocessing%20import%20StandardScaler%0A%20%20%20%20std%20%3D%20StandardScaler()%0A%20%20%20%20Z%20%3D%20std.fit_transform(X)%0A%0A%20%20%20%20%23%20verif.%20moyennes%20et%20%C3%A9carts-types%0A%20%20%20%20import%20numpy%20as%20np%0A%20%20%20%20print(np.mean(Z%2Caxis%3D0))%0A%20%20%20%20print(np.std(Z%2Cddof%3D0%2Caxis%3D0))%0A%20%20%20%20return%20(Z%2C)%0A%0A%0A%40app.cell%0Adef%20_(mo)%3A%0A%20%20%20%20%23%20cr%C3%A9er%20un%20slider%0A%20%20%20%20slider%20%3D%20mo.ui.slider(start%3D1%2Cstop%3D10%2Cvalue%3D2)%0A%20%20%20%20return%20(slider%2C)%0A%0A%0A%40app.cell%0Adef%20_(slider)%3A%0A%20%20%20%20%23%20nombre%20de%20groupes%20pour%20les%20k-means%0A%20%20%20%20%23%20%C3%A0%20faire%20varier%20via%20le%20slider%0A%20%20%20%20K%20%3D%20slider.value%0A%20%20%20%20return%20(K%2C)%0A%0A%0A%40app.cell%0Adef%20_(K%2C%20Z)%3A%0A%20%20%20%20%23%20K-means%0A%20%20%20%20from%20sklearn.cluster%20import%20KMeans%0A%20%20%20%20km%20%3D%20KMeans(n_clusters%3DK%2Crandom_state%3D42)%0A%20%20%20%20groupes%20%3D%20km.fit_predict(Z)%0A%20%20%20%20return%20(groupes%2C)%0A%0A%0A%40app.cell%0Adef%20_(K%2C%20Z%2C%20groupes)%3A%0A%20%20%20%20%23%20d%C3%A9finir%20une%20acp%0A%20%20%20%20from%20sklearn.decomposition%20import%20PCA%0A%20%20%20%20acp%20%3D%20PCA(n_components%3D2)%0A%20%20%20%20F%20%3D%20acp.fit_transform(Z)%0A%0A%20%20%20%20%23%20graphique%20dans%20le%20plan%0A%20%20%20%20import%20matplotlib.pyplot%20as%20plt%0A%20%20%20%20plt.scatter(F%5B%3A%2C0%5D%2CF%5B%3A%2C1%5D%2Cc%3Dgroupes%2Ccmap%3D%22Dark2%22)%0A%20%20%20%20plt.title(f%22Nombre%20de%20groupes%20%3D%20%7BK%7D%22)%0A%20%20%20%20plt.show()%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_(mo%2C%20slider)%3A%0A%20%20%20%20mo.md(f%22%22%22%0A%20%20%20%20%23%23%23%20Nombre%20de%20groupes%20%3A%20%7Bslider%7D%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
cb53aebcd94e112109fb9895764bc882