一、创建仿真数据集
如果需要用一个仿真数据集来做线性回归,make_regression是个不错的选择:
from sklearn.datasets import make_regression
#生成特征矩阵、目标向量以及模型的系数
features,target,coefficients=make_regression(n_samples=100,
n_features=3,
n_informative=3,
n_targets=1,
noise=0.0,
coef=True,
random_state=1)
print('Feature Matrix\n',features[:3])
print('Target Vector\n',target[:3])

如果要创建一个仿真数据集来做分类,可以使用make_classification:
from sklearn.datasets import make_classification
features,target=make_classification(n_samples=100,
n_features=3,
n_informative=3,
n_redundant=0,
n_classes=2,
weights=[.25,.75],
random_state=1)
print('Feature Matrix\n',features[:3])
print('Target Vector\n',target[:3])

如果想要一个适合做聚类处理的数据集,scikit_learn提供了make_bolbs:
from sklearn.datasets import make_blobs
features,target=make_blobs(n_samples=200,
n_features=2,
centers=3,
cluster_std=0.5,
shuffle=True,
random_state=1)
print('Feature Matrix\n',features[:3])
print('Target Vector\n',target[:3])

在make_regression和make_classification中,n_informative确定了用于生成目标向量的特征的数量。如果n_informative的值比总的特征数(n_features)小,则生成的数据集将包含多余的特征,这些特征可以通过特征选择技术识别出来。
另外,make_classification包含了一个weights参数,可以利用它来生成不均衡的仿真数据集。如果我们设置weights=[.25,.75],那么生成的数据集中,25%的观察值属于第一个分类,75%的观察值属于第二个分类。
对于make_blobs来说,centers参数决定了要生成多少个聚类。使用matplotlib可视化库,能将make_blobs生成的聚类可视化地显示出来:

二、加载CSV文件
使用pandas库的read_csv来加载一个本地或远端的CSV文件:
import pandas as pd
url=' '
#加载数据集
dataframe=pd.read_csv(url)
#查看前两行数据
dataframe.head(2)
在加载数据前快速浏览一下文件内容会很有用,这便于你事先了解数据集的结构以及在加载文件时需要设置什么参数。
三、加载Excel文件
与加载CSV文件的解决方案很类似。主要区别在于多了一个参数sheetname,它指定在加载Excel文件时要加载哪一张数据表。sheetname可以是包含数据表名字的字符串,也可以是指向数据表所在位置的整数(从零开始编号)。如果需要加载多张数据表,可以把它们放在一个列表中一起传入。
四、加载JSON文件
与前两节相似,关键在于orient参数,它告诉了pandas JSON文件的结构是什么样的。但如果要找到与JSON结构对应的参数值,可能会花一些时间来调研。pandas还提供了一个有用的工具json_normalize,它能将半结构化的JSON数据转换为pandas的DataFrame类型。
五、查询SQL数据库
pandas的read_sql_query可以在数据库中执行一个SQL查询语句并加载结果:
import pandas as pd
from sqlalchemy import create_engine
#创建一个数据库的连接
database_connection=create_engine('sqlite:///sample.db')
dataframe=pd.read_sql_query('SELECT*FROM data',database_connection)
dataframe.head(2)
我们首先用create_engine定义了一个到SQLite数据库引擎的连接,然后用pandas的read_sql_query通过SQL语句查询数据库,并将结果存入一个DataFrame中。

被折叠的 条评论
为什么被折叠?



