|
1 | 1 | {
|
2 | 2 | "cells": [
|
| 3 | + { |
| 4 | + "cell_type": "markdown", |
| 5 | + "metadata": {}, |
| 6 | + "source": [ |
| 7 | + "# Customer segmentation using clustering an classification (Simple)\n", |
| 8 | + "\n", |
| 9 | + "https://archive.ics.uci.edu/ml/datasets/online+retail : \n", |
| 10 | + "\n", |
| 11 | + "이 데이터는 2010년 1월 20일 부터 2011년 9월 12일 까지의 기간동안 온라인 전자상거래 회사에서 발생한 transaction에 대한 내용입니다. 해당 회사는 UK-based non-store online 전자상거래 회사입니다.\n", |
| 12 | + "\n", |
| 13 | + "이 데이터를 이용하여, 사용자의 행동을 분석합니다. 사용자의 행동을 분석하여, 사용자의 행동을 예측하는 모델을 만들겠습니다." |
| 14 | + ] |
| 15 | + }, |
| 16 | + { |
| 17 | + "cell_type": "markdown", |
| 18 | + "metadata": {}, |
| 19 | + "source": [ |
| 20 | + "# 1. 데이터 로딩" |
| 21 | + ] |
| 22 | + }, |
3 | 23 | {
|
4 | 24 | "cell_type": "code",
|
5 | 25 | "execution_count": 2,
|
|
171 | 191 | "dataset.head()"
|
172 | 192 | ]
|
173 | 193 | },
|
| 194 | + { |
| 195 | + "cell_type": "markdown", |
| 196 | + "metadata": {}, |
| 197 | + "source": [ |
| 198 | + "# 2. 데이터 전처리" |
| 199 | + ] |
| 200 | + }, |
174 | 201 | {
|
175 | 202 | "cell_type": "code",
|
176 | 203 | "execution_count": 4,
|
|
482 | 509 | "source": [
|
483 | 510 | "# 4339명의 transaction을 가지고 있다.\n",
|
484 | 511 | "df_customerid_groups=dataset.groupby(\"CustomerID\")\n",
|
485 |
| - "print(len((df_customerid_groups.groups)))" |
| 512 | + "print(len(df_customerid_groups.groups))" |
| 513 | + ] |
| 514 | + }, |
| 515 | + { |
| 516 | + "cell_type": "markdown", |
| 517 | + "metadata": {}, |
| 518 | + "source": [ |
| 519 | + "# 3. Clustering" |
486 | 520 | ]
|
487 | 521 | },
|
488 | 522 | {
|
|
590 | 624 | "df_cluster.head()"
|
591 | 625 | ]
|
592 | 626 | },
|
| 627 | + { |
| 628 | + "cell_type": "markdown", |
| 629 | + "metadata": {}, |
| 630 | + "source": [ |
| 631 | + "- Quantity\n", |
| 632 | + "- UnitPrice" |
| 633 | + ] |
| 634 | + }, |
593 | 635 | {
|
594 | 636 | "cell_type": "code",
|
595 | 637 | "execution_count": 26,
|
|
617 | 659 | "x"
|
618 | 660 | ]
|
619 | 661 | },
|
| 662 | + { |
| 663 | + "cell_type": "markdown", |
| 664 | + "metadata": {}, |
| 665 | + "source": [ |
| 666 | + "> Feature Scaling" |
| 667 | + ] |
| 668 | + }, |
620 | 669 | {
|
621 | 670 | "cell_type": "code",
|
622 | 671 | "execution_count": 27,
|
623 | 672 | "metadata": {},
|
624 | 673 | "outputs": [],
|
625 | 674 | "source": [
|
626 |
| - "# Feature Scaling\n", |
627 | 675 | "from sklearn.preprocessing import StandardScaler\n",
|
628 | 676 | "\n",
|
629 | 677 | "sc_x = StandardScaler()\n",
|
630 | 678 | "x = sc_x.fit_transform(x)"
|
631 | 679 | ]
|
632 | 680 | },
|
| 681 | + { |
| 682 | + "cell_type": "markdown", |
| 683 | + "metadata": {}, |
| 684 | + "source": [ |
| 685 | + "> K-means" |
| 686 | + ] |
| 687 | + }, |
633 | 688 | {
|
634 | 689 | "cell_type": "code",
|
635 | 690 | "execution_count": 28,
|
|
681 | 736 | "plt.ylabel('With in cluster sum of squers(WCSS)')"
|
682 | 737 | ]
|
683 | 738 | },
|
| 739 | + { |
| 740 | + "cell_type": "markdown", |
| 741 | + "metadata": {}, |
| 742 | + "source": [ |
| 743 | + "> 시각화" |
| 744 | + ] |
| 745 | + }, |
684 | 746 | {
|
685 | 747 | "cell_type": "code",
|
686 | 748 | "execution_count": 30,
|
|
804 | 866 | "name": "python",
|
805 | 867 | "nbconvert_exporter": "python",
|
806 | 868 | "pygments_lexer": "ipython3",
|
807 |
| - "version": "3.6.3" |
| 869 | + "version": "3.6.7" |
808 | 870 | }
|
809 | 871 | },
|
810 | 872 | "nbformat": 4,
|
|
0 commit comments