[关闭]
@Channelchan 2017-07-08T15:14:55.000000Z 字数 929 阅读 25217

scikit-learn


什么是scikit-learn?

Python的机器学习库,用于数据挖掘和数据分析的简单而有效的工具。


scikit-learn 提供了什么主要功能?

  1. 回归
    -Lasso
    -Ridge
    -ElasticNet
  2. 分类
    -SVM
    -RandomForestClassifier
    -NearestNeighbors

数据格式

  1. from sklearn.linear_model import Lasso
  2. model_Lasso = Lasso(alpha=0.1)
  3. X = [[-1,-1], [0,0], [1,1]]
  4. y = [-1,0,1]
  5. model_Lasso.fit(X,y)
  1. from sklearn.svm import SVC
  2. import numpy as np
  3. X = np.array([[-3,-2],[-4,-5],[3,4],[4,5]])
  4. y = np.array([1, 1, 2, 2])
  5. model_SVC = SVC()
  6. model_SVC.fit(X, y)

常用代码

Rolling 计算Regression

  1. from sklearn import linear_model
  2. from sklearn.metrics import r2_score
  3. reg = linear_model.Lasso(alpha=1)
  4. result = result.dropna()
  5. # print result
  6. y = result.HS300_close.values
  7. target = result[["ADP_MAS", "HLP_MAS", "MAP_MAS", 'VOL_MAS']]
  8. data = map(lambda row: list(row[1]), target.iterrows())
  9. residual=[]
  10. for i in range(0, len(data)-100, 1):
  11. X = data[i:100+i]
  12. # print len(X)
  13. YY = y[i:100+i]
  14. reg.fit(X, YY)
  15. print reg.score(X, YY)
  16. rsd = YY - reg.predict(X)
  17. residual.append(rsd[-1])
  18. res = pd.Series(residual, index=result.index[100:])

官方文档: http://scikit-learn.org/

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注