数据挖掘学习-准备篇-python基础

python科学计算

1.使用python内置数据集

from sklearn import datasets

iris = datasets.load_iris()

>>> print(iris.data)  
[[  0.   0.   5. ...,   0.   0.   0.]
 [  0.   0.   0. ...,  10.   0.   0.]
 [  0.   0.   0. ...,  16.   9.   0.]
 ...,
 [  0.   0.   1. ...,   6.   0.   0.]
 [  0.   0.   2. ...,  12.   0.   0.]
 [  0.   0.  10. ...,  12.   1.   0.]]

2.使用svm

>>> from sklearn import svm
>>> clf = svm.SVC(gamma=0.001, C=100.)


3.拟合fit和predict

fit(X, y) 和 predict(T).

X, y = iris.data, iris.target

4.获取数组的大小——shape属性

   iris.shape  

  得(28,19)

5.target

digits.target 就是数字数据集各样例对应的真实数字值。也就是我们的程序要学习的。

6.pickle来保存scikit中的模型

>>>import pickle

>>>s = pickle.dumps(clf)

>>>clf2 = pickle.loads(s)


7.Estimators对象

一个 estimator 可以是任意一个从数据中学习到的对象;他可能是分类算法(classification),回归算法(regression), 聚类算法(clustering),或者一个变换算法

不管他是何种算法,所有的 estimator 对象都向外部暴露了一个 fit 方法 ,该成员方法的操作对象是一个数据集

一个estimator的所有参数即可以在初始化的时候设置,也可以 按对应属性修改:

>>> estimator = Estimator(param1=1, param2=2)
>>> estimator.param1
predict(X)  用于预测数据集  X  中的未知标签的样本,并返回预测的标签  y.

每一个estimator暴露一个计算estimator在测试数据上的测试得分的方法: score 得分越大,estimator对数据的拟合模型越好。 .

8.KNN (k nearest neighbors) 分类器例子:

>>> # Split iris data in train and test data
>>> # A random permutation, to split the data randomly
>>> np.random.seed(0)
>>> indices = np.random.permutation(len(iris_X))
>>> iris_X_train = iris_X[indices[:-10]]
>>> iris_y_train = iris_y[indices[:-10]]
>>> iris_X_test  = iris_X[indices[-10:]]
>>> iris_y_test  = iris_y[indices[-10:]]
>>> # Create and fit a nearest-neighbor classifier
>>> from sklearn.neighbors import KNeighborsClassifier
>>> knn = KNeighborsClassifier()
>>> knn.fit(iris_X_train, iris_y_train) 
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=1, n_neighbors=5, p=2,
           weights='uniform')
>>> knn.predict(iris_X_test)
array([1, 2, 1, 0, 0, 0, 2, 1, 2, 0])
>>> iris_y_test
array([1, 1, 1, 0, 0, 0, 2, 1, 2, 0])

9.在python当中处理csv文件,可以使用标准库当中的csv模块。其中的writer和reader方法可以对csv文件进行读写。

import csv
rf = open('bank.csv','rb')
reader = csv.reader(rf)

此处要注意,打开一个csv文件,必须用二进制的形式打开。
此时的reader为一个迭代器,它只能使用next()和for循环。
reader.next() 返回即为第一行的内容。

要看得到所有内容,就可以使用for循环了。

for row in reader: print row

接下来,来看写入csv文件。

wf = open('bank2.csv','wb')
writer = csv.writer(wf)
writer.writerow(['id','age','sex','region','income','married','children','car','save_act','current_act','mortgage','pep'])
writer.writerow(reader.next())

10.线性回归LR

线性回归的最简单形式是通过调节一个参数集合为数据集拟合一个线性模型,使得其残差平方和尽可能小。

线性模型:

y = X\beta + \epsilon

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值