最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python取讀csv文件做dbscan分析

 更新時間:2022年04月12日 18:48:15   作者:空中旋轉籃球  
這篇文章主要介紹了Python取讀csv文件做dbscan分析,讀取csv文件中相應的列,然后進行轉化,處理為本算法需要的格式,然后進行dbscan運算,下面文章的具體介紹需要的小伙伴可以參考一下

1.讀取csv數(shù)據(jù)做dbscan分析

讀取csv文件中相應的列,然后進行轉化,處理為本算法需要的格式,然后進行dbscan運算,目前公開的代碼也比較多,本文根據(jù)公開代碼修改,

具體代碼如下:

from sklearn import datasets
import numpy as np
import random
import matplotlib.pyplot as plt
import time
import copy
import pandas as pd
# from sklearn.datasets import load_iris
?
def find_neighbor(j, x, eps):
? ? N = list()
? ? for i in range(x.shape[0]):
? ? ? ? temp = np.sqrt(np.sum(np.square(x[j] - x[i]))) ?# 計算歐式距離
? ? ? ? if temp <= eps:
? ? ? ? ? ? N.append(i)
? ? return set(N)
?
?
def DBSCAN(X, eps, min_Pts):
? ? k = -1
? ? neighbor_list = [] ?# 用來保存每個數(shù)據(jù)的鄰域
? ? omega_list = [] ?# 核心對象集合
? ? gama = set([x for x in range(len(X))]) ?# 初始時將所有點標記為未訪問
? ? cluster = [-1 for _ in range(len(X))] ?# 聚類
? ? for i in range(len(X)):
? ? ? ? neighbor_list.append(find_neighbor(i, X, eps))
? ? ? ? if len(neighbor_list[-1]) >= min_Pts:
? ? ? ? ? ? omega_list.append(i) ?# 將樣本加入核心對象集合
? ? omega_list = set(omega_list) ?# 轉化為集合便于操作
? ? while len(omega_list) > 0:
? ? ? ? gama_old = copy.deepcopy(gama)
? ? ? ? j = random.choice(list(omega_list)) ?# 隨機選取一個核心對象
? ? ? ? k = k + 1
? ? ? ? Q = list()
? ? ? ? Q.append(j)
? ? ? ? gama.remove(j)
? ? ? ? while len(Q) > 0:
? ? ? ? ? ? q = Q[0]
? ? ? ? ? ? Q.remove(q)
? ? ? ? ? ? if len(neighbor_list[q]) >= min_Pts:
? ? ? ? ? ? ? ? delta = neighbor_list[q] & gama
? ? ? ? ? ? ? ? deltalist = list(delta)
? ? ? ? ? ? ? ? for i in range(len(delta)):
? ? ? ? ? ? ? ? ? ? Q.append(deltalist[i])
? ? ? ? ? ? ? ? ? ? gama = gama - delta
? ? ? ? Ck = gama_old - gama
? ? ? ? Cklist = list(Ck)
? ? ? ? for i in range(len(Ck)):
? ? ? ? ? ? cluster[Cklist[i]] = k
? ? ? ? omega_list = omega_list - Ck
? ? return cluster
?
# X = load_iris().data
data = pd.read_csv("testdata.csv")
x,y=data['Time (sec)'],data['Height (m HAE)']
print(type(x))
n=len(x)
x=np.array(x)
x=x.reshape(n,1)
y=np.array(y)
y=y.reshape(n,1)
X = np.hstack((x, y))
cluster_std=[[.1]], random_state=9)
?
eps = 0.08
min_Pts = 5
begin = time.time()
C = DBSCAN(X, eps, min_Pts)
end = time.time()
plt.figure()
plt.scatter(X[:, 0], X[:, 1], c=C)
plt.show()

2.輸出結果顯示

修改參數(shù)顯示:

eps = 0.8
min_Pts = 5

3.計算效率

采用少量數(shù)據(jù)計算的時候效率問題不明顯,隨著數(shù)據(jù)量增大,計算效率問題就變得尤為明顯,難以滿足大量數(shù)據(jù)的計算需求了,后期將想辦法優(yōu)化計算方法或者收集C++代碼進行優(yōu)化了。

到此這篇關于Python取讀csv文件做dbscan分析的文章就介紹到這了,更多相關Python  dbscan分析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python刪除文件示例分享

    python刪除文件示例分享

    這篇文章主要介紹了刪除文件夾下所有文件和子文件夾的示例,大家參考使用吧
    2014-01-01
  • python 如何在測試中使用 Mock

    python 如何在測試中使用 Mock

    這篇文章主要介紹了python 如何在測試中使用 Mock,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python2和Python3中@abstractmethod使用方法

    Python2和Python3中@abstractmethod使用方法

    這篇文章主要介紹了Python2和Python3中@abstractmethod使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python使用metaclass實現(xiàn)Singleton模式的方法

    Python使用metaclass實現(xiàn)Singleton模式的方法

    這篇文章主要介紹了Python使用metaclass實現(xiàn)Singleton模式的方法,實例分析了Python基于metaclass實現(xiàn)單例模式的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • Python裝飾器結合遞歸原理解析

    Python裝飾器結合遞歸原理解析

    這篇文章主要介紹了Python裝飾器結合遞歸原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 使用pandas 將DataFrame轉化成dict

    使用pandas 將DataFrame轉化成dict

    今天小編就為大家分享一篇使用pandas 將DataFrame轉化成dict,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 編寫Python小程序來統(tǒng)計測試腳本的關鍵字

    編寫Python小程序來統(tǒng)計測試腳本的關鍵字

    這篇文章主要介紹了編寫Python小程序來統(tǒng)計測試腳本的關鍵字的方法,文中的實例不僅可以統(tǒng)計關鍵字數(shù)量,還可以按主關鍵字來歸類,需要的朋友可以參考下
    2016-03-03
  • Tensorflow分批量讀取數(shù)據(jù)教程

    Tensorflow分批量讀取數(shù)據(jù)教程

    今天小編就為大家分享一篇Tensorflow分批量讀取數(shù)據(jù)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • pytorch中的model=model.to(device)使用說明

    pytorch中的model=model.to(device)使用說明

    這篇文章主要介紹了pytorch中的model=model.to(device)使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python合并pdf文件的工具

    Python合并pdf文件的工具

    PDF文件合并工具是非常好用可以把多個pdf文件合并成一個,本文以5個pdf文件為例給大家分享具體操作方法,通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-07-07

最新評論

康定县| 巴青县| 乌兰浩特市| 稷山县| 信丰县| 九龙坡区| 自治县| 高安市| 阳信县| 盐津县| 雅江县| 兖州市| 宜阳县| 布拖县| 大方县| 神农架林区| 深州市| 库车县| 渭源县| 西青区| 玛沁县| 巫溪县| 民丰县| 河源市| 古田县| 观塘区| 定结县| 郓城县| 鸡泽县| 大冶市| 额济纳旗| 灵丘县| 南宁市| 望奎县| 萨嘎县| 正阳县| 密云县| 兰州市| 绥滨县| 惠东县| 酒泉市|