1)。トランプの手動演奏のK平均クラスタリングプロセス:> 30枚のカード、3種類
2)。* K平均アルゴリズムは独立して記述され、クラスタリングはアイリス花弁の長さのデータに対して実行され、散布図で表示されます。(プラスポイント)
3)。クラスタリングにsklearn.cluster.KMeansとアイリス花弁の長さデータを使用し、散布図で表示します。
4)。アイリスの花の完全なデータがクラスター化され、散布図で表示されます。
5)。k-meansアルゴリズムで何が使用されているかを考えますか?
回答:
1)トランプの手動リハーサルのK平均クラスタリングプロセス:> 30カード、3種類
3つの中心(8、3、2)をランダムに選択します。
最初のステップの後、それは(9、4、2)になります。
2番目のステップの後、それは変更されていない(10、6、2)になり、クラスターの中心は(10、6、2)になります。
2)K平均アルゴリズムを個別に記述し、クラスタリングにアイリス花弁の長さのデータを使用して、散布図で表示します。
#- * -コーディング:UTF-8 - * - から sklearn.datasets インポートload_iris インポートPANDAS AS PD インポートnumpyのAS NP インポートAS PLT matplotlib.pyplot #Kは初期センターなどのオブジェクトの選択データ領域を、各オブジェクトが表しますクラスタ中心、 DEF initcenter(データ、K): M [1] = data.shape #のプロパティのサンプル数 センター= [] TEMP = 0 temptemp = 0 のための I におけるレンジ(K): TEMP = np.random。 randint(0、len(data)) if temp!=temptemp: center.append(データ[TEMP:]) temptemp = TEMP 他: プリント(" 重复啦" ) I - = 1つの センター = np.array(中央) リターンセンター デフに最も近い(中心、X): 距離 = [ ] for j in range(k): distance.append(sum((x -center [j ,:])** 2 )) #print(np.argmin(distance)) y = np.argmin(distance) returnYが DEF :(データ、Y、中心)xclassify ための指標、X に列挙(データ): Y [インデックス] = 最も近い(中心、X) リターンY DEF kcmean(データ、Y、中心、K): M =データ。 shape [1 ] center_new = np.zeros([k、m]) for i in range(k): index = y == i center_new [i、:] = np.mean(data [index、:]、axis = 0) if np.all(center_new == center): 中心を返し、それ以外は偽 : センター = center_new リターンセンター、真の #の初期化は、センターを生成呼び出す IF __name__ == ' __main__ ' : データ = 。load_iris()データ センター initcenter =(データ,. 3 ) K = INT(INPUT(「重心の番号を入力してください:" )) y = np.zeros(len(data)) flag = True while flag: y = xclassify(data、y、center) center、flag =kcmean(データ、Y、中心、K) プリント(" 聚类结果:" 、Y) 用 X における範囲(LEN(データ)): plt.scatter(データ[X] [0]、データ[X] [ 1 ]、S = 30、C = ' B '、マーカー= ' ' ) のための K における範囲(LEN(中央)): plt.scatter(中央[K] [0]、中央[K] [ 1]、S = 60、c = ' r '、マーカー= ' D ' ) plt.show()
演算結果:
可視化の結果:
3)sklearn.cluster.KMeansとアイリスの花びらの長さのデータをクラスタリングに使用し、スキャッタープロットで表示します。
#-*-coding:utf-8-*- from sklearn.datasets import load_iris from sklearn.cluster import KMeans import matplotlib.pyplot as plt data_iris = load_iris()。data speal_width = data_iris [:、2 ] X = speal_width.reshape (-1,1 ) X.shape kmeans_model = KMeans(n_clusters = 3 ) kmeans_model.fit(X) kmeans_model.predict([[ 3.5 ]]) y_predict = kmeans_model.predict(X) kmeans_model.cluster_centers_ kmeans_model.labels_ plt.scatter(X [ :、0]、X [:、0]、c= y_predict、s = 50、cmap = " rainbow " ) plt.show()
可視化の結果:
4)アイリスの花の完全なデータがクラスター化され、散布図で表示されます。
#-*-coding:utf-8-*- from sklearn.datasets import load_iris from sklearn.cluster import KMeans import matplotlib.pyplot as plt data_iris = load_iris()。data kmeans_model = KMeans(n_clusters = 3 ) kmeans_model.fit(data_iris ) y_predict1 = kmeans_model.predict(data_iris) kmeans_model.cluster_centers_ kmeans_model.labels_ plt.scatter(data_iris [:, 2]、data_iris [:、3]、c = y_predict1、s = 50、cmap = " 虹" ) plt.show ()
可視化の結果:
5)k-meansアルゴリズムで何が使用されているかを考えますか?
1. ドキュメント分類子
タグ、トピック、およびドキュメントのコンテンツに基づいて、ドキュメントを複数のカテゴリに分割します。これは、非常に標準的で古典的なK平均アルゴリズム分類問題です。まず、ドキュメントを初期化し、各ドキュメントをベクトルとして表現し、用語の頻度を使用してドキュメント分類の一般的な用語を特定する必要があります。この手順は必須です。次に、ドキュメントベクトルがクラスタ化され、ドキュメントグループの類似性が特定されます。
2.顧客の分類
クラスタリングは、マーケターが顧客ベース(ターゲット領域での作業)を改善し、顧客の購入履歴、関心、または活動の監視に基づいて顧客のカテゴリーをさらに分割するのに役立ちます。
3.チームステータス分析
プレーヤーのステータスを分析することは、常にスポーツの世界で重要な要素です。競争が激しくなるにつれて、機械学習もこの分野で重要な役割を果たします。優れたチームを作成し、プレーヤーのステータスに基づいて類似のプレーヤーを特定したい場合は、K平均アルゴリズムが適しています。
4.乗車データ分析
一般に公開されているUberの乗車情報のデータセットは、交通量、通過時間、ピーク時の乗車場所に関する多くの貴重なデータセットを提供します。これらのデータの分析は、Uberにとって有益なだけでなく、都市の交通パターンを深く理解し、都市の将来を計画するのに役立ちます。
5.サイバー分析犯罪者
ネットワーク分析は、個人とグループからデータを収集して、2つの間の重要な関係を識別するプロセスです。ネットワーク分析は、犯罪現場の犯罪者を分類するために調査部門からの情報を提供する犯罪ファイルから始まります。
6.通話記録の詳細分析
通話詳細記録(CDR)は、ユーザーの通話、テキストメッセージ、および通信会社によるネットワーク活動に関する情報のコレクションです。詳細な通話記録と顧客の個人データを組み合わせると、通信会社は顧客のニーズについてより多くの予測を行うことができます。