使用 sklearn 将 .csv 文件加载到 python

Loading .csv files into python using sklearn

我正在尝试将 .csv 文件导入 scikit-learn。我知道我可以使用 pandas,但不知道如何使用 我的数据集是这样的

0.9731  0.9695  0.9857  0.9909  0.9448  0.9367  0.9976  0.9672
0.9723  0.9767  0.9767  0.9656  0.9625  0.9589  0.9429  0.9319
0.9858  0.9886  0.9883  0.9784  0.9729  0.9683  0.9567  0.9428
0.9834  0.9838  0.9886  0.9782  0.9729  0.9629  0.9849  0.9456

我正在研究 windows。我是 sklearn 的新手,我能够轻松加载内置数据集并对其进行处理,但无法加载我自己的数据集。

忽略 io.StringIO 位,它只是将字符串作为文件缓冲区传递的一种方式,您可以轻松加载此调用 read_csv 并传递参数 header=Nonesep='\s+':

In [3]:

import io
import pandas as pd
temp = '''0.9731  0.9695  0.9857  0.9909  0.9448  0.9367  0.9976  0.9672
0.9723  0.9767  0.9767  0.9656  0.9625  0.9589  0.9429  0.9319
0.9858  0.9886  0.9883  0.9784  0.9729  0.9683  0.9567  0.9428
0.9834  0.9838  0.9886  0.9782  0.9729  0.9629  0.9849  0.9456'''
df = pd.read_csv(io.StringIO(temp), header=None, sep='\s+')
df
Out[3]:
        0       1       2       3       4       5       6       7
0  0.9731  0.9695  0.9857  0.9909  0.9448  0.9367  0.9976  0.9672
1  0.9723  0.9767  0.9767  0.9656  0.9625  0.9589  0.9429  0.9319
2  0.9858  0.9886  0.9883  0.9784  0.9729  0.9683  0.9567  0.9428
3  0.9834  0.9838  0.9886  0.9782  0.9729  0.9629  0.9849  0.9456

我不知道这些值是什么,但您可以直接分配列:df.columns = [some_col_list] 或将列表传递给 read_csvnames=some_col_list

要将特定列传递给 sklearn,只需为它们编制索引,例如如果你的列有名称 col1....coln 那么你调用 clf.fit(df['col1'], df['coln']) 假设 col1 和 coln 分别是你的 X 和 y 列

将 csv 作为 pandas DataFrame 加载后,您可能希望将数据转换为矩阵格式。

csv_matrix = df.as_matrix()

例如sklearn.linear_model.LinearRegression等几个模型需要矩阵格式的数据:http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html