目前,我使用的是 PostgreSQL 11.2 并且我有一个 ~4GB 的 .csv 文件。首先,我试图创建一个临时表并选择所需的列来填充我的当前表。
create temporary table t (identification varchar, a1 text, a2 text, a3 text, a4 text, a15 text, a6 text, a7 text, a8 text)
copy t
from 'C:\PostgreSqlData\mydata.csv'
delimiter ',' csv
Run Code Online (Sandbox Code Playgroud)
如果我得到一些较小的数据部分(~10MB),它不会给出任何错误。但是,当我尝试导入整个文件时,它给出:
无法统计文件“mydata.csv”:未知错误
我正在使用 sklearn 和凝聚聚类功能。我有一个混合数据,其中包括数字和名义数据列。我的名义列具有诸如“早上”、“下午”、“晚上”、“晚上”之类的值。如果我通过分配整数值(如 0、1、2、3)将我的名义数据转换为数字;欧几里得距离将计算为“夜晚”和“早晨”之间的 3,但是,1 应该作为距离的返回值。
X = pd.read_csv("mydata.csv", sep=",", header=0, encoding="utf-8")
X = StandardScaler().fit_transform(X)
print("n_samples: %d, n_features: %d" % X.shape)
km = AgglomerativeClustering(n_clusters=5, affinity='euclidean', linkage='average')
km.fit(X)
print("k = %d, Silhouette Coefficient: %0.3f" % (x,
metrics.silhouette_score(X, km.labels_, sample_size=None)))
Run Code Online (Sandbox Code Playgroud)
这是我的代码。
如何在 sklearn 中自定义距离函数或将我的名义数据转换为数字?