我有一个分类数据,我想通过首先使用import UIKit
struct sports_content: Decodable {
let sports_meta_expanded: sports_meta
let teams_expanded: teams
}
struct sports_meta: Decodable {
let date_time: String?
let season_meta_list: season_meta
}
struct season_meta: Decodable {
let calendar_date: Date
let season_year: Int?
let stats_season_year: Int?
let stats_season_id: Int?
let stats_season_stage: Int?
let roster_season_year: Int?
let schedule_season_year: Int?
let standings_season_year: Int?
let season_id: Int?
let display_year: String
let display_season: String
let season_stage: Int?
}
struct next: Decodable {
let url: String
}
struct teams: Decodable {
let season_year: year
let team_data: [team]
}
struct year: Decodable {
let season_year: Int?
}
struct team: Decodable {
let is_nba_team: Bool
let team_name: String
let team_nickname: String
let team_code: String
let team_abbrev: String
let city: String
let state: String
let team_short_name: String
let team_id: Int?
let conference: String
let division_id: String
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let url = Bundle.main.infoDictionary?["BASE_URL"] as? String ?? ""
guard let convertedURL = URL(string: url) else {
return
}
URLSession.shared.dataTask(with: convertedURL) { (data, response, error) in
guard let data = data else {
return
}
do{
let dataSet = try JSONDecoder().decode(sports_content.self, from: data)
print(dataSet)
} catch {
print("JSONSerialization error:", error)
}
}.resume()
}
}
度量生成不相似矩阵来进行聚类;然后使用gower
函数进行分裂聚类。但是,我的数据是具有19528x72元素的数据帧。因此,当我生成不相似矩阵时,它具有190661628个元素,这非常大。我已经运行了功能
diana
,但它已经运行了几天并且仍在运行。甚至尝试divisive.clust <- diana(as.matrix(gower_dist), diss = TRUE, keep.diss = TRUE)
也无济于事。
我的问题是;我们可以并行运行此功能吗?我曾考虑过在函数内部实现并行化,但是基本代码太复杂了,我在代码中没有看到任何循环。即使没有办法并行化此函数,是否还有其他方法可以使用相异矩阵或具有内置keep.diss = FALSE
度量参数的函数进行分裂聚类?
我的系统是具有32核心处理器的工作站,我正在使用linux。
预先感谢