python for machine-learning

  1. pd.columnss
    输出为不包括第一列的表名

  2. pd.merge
    类似于数据库表的合并,data1,data2代表要合并的两个数据表,how表示连接的方式,on表示连接的条件

  3. .np.round
    对数据进行小数点位数处理

  4. str(yr)
    可以直接把数字变成字符

  5. df.boxplot(‘Income’,by=’Regin’,rot=90) rot : label rotation angle
    画盒图

  6. X = scipy.stats.norm(loc=diff, scale=1)
    正态分布,loc=mean,scale=deviation

  7. plt.legend([“a={}”.format(a)for a in a_values],loc=0)
    一般图的标注含有变量的时候就可以使用这个功能。

  8. plt.yscale(‘log’)

  9. merged = pd.groupby(‘Region’, as_index=False).mean()
    单单使用groupby没有什么效果,要结合如mean等使用。

  10. population.columns = [‘Country’] + list(list(population.columns)[1:])
    对表头列名进行从新组织,在实际使用中,list的使用出现了写编译问题,网上说有时候jupyter需要刷新一下的原因。

  11. http://www.cnblogs.com/txw1958/archive/2011/12/21/2295698.html
    python3网络抓取资源的N种方法

  12. source.count(bytes(‘Soup’,’UTF-8’))

  13. X.sf(a)

  14. subplot的基本使用方法
    x2=np.arange(35,71,1)
    fig, ax = plt.subplots(2,1)
    ax[0].vlines(x2/100, 0, binom.pmf(x2, N, thep), colors='b', lw=5, alpha=0.5)
    ax[1].vlines(x[1:], 0, y, lw=5, colors=dark2_colors[0])
    ax[0].set_xlim(0.35,0.75)
    ax[1].set_xlim(0.35,0.75)
    plt.show()

  15. plt.xticks(rotation=90)
    对图像的x轴标注旋转90度,这种情况适用于x轴是比较长的标注。

  16. if l is not None and l[:4]==’http’
    这是用于网络连接筛选的代码,在实际应用中,存在很多数据列为空的情况,所以该功能还是非常强大方便的。

  17. [l for l in link_list if l is not None and l.startswith(‘http’)]for
    python的for循环使用非常优美简介,实际掌握还是需要大量的联系。

  18. 有时候获取网络资源时候,网站会阻止爬虫,这时候就需要对你的爬虫程序进行伪装
    req = urllib.request.Request(url,headers={'User-Agent': 'Mozilla/5.0'})
    source = urllib.request.urlopen(req).read()

  19. jupyter多版本切换问题解决,两条指令

 pip2 install ipython
 ipython2 kernelspec install-self
  1. 画图的两种方法
 1. 
    data_to_plot = ranking.overall
  plt.bar(data_to_plot.index, data_to_plot)
  plt.show()
 2.
  ranking_categories_weighted.head().plot(kind='bar')

  1. legend的使用
.ax = ranking_categories_weighted.head().plot(kind='bar', legend=False)
    # Put a legend to the right of the current axis
    ax.legend(loc='center left', blebox_to_anchor=(1, 0.5))

    plt.show()
  1. jupyter数学公式书写
    http://blog.csdn.net/winnerineast/article/details/52274556
    http://jupyter-notebook.readthedocs.io/en/latest/examples/Notebook/Typesetting%20Equations.html

  2. 一个网络数据处理的过程

     URL = "http://www.pollster.com/08USPresGEMvO-2.html"
   html=requests.get(URL).text
   dom=web.Element(html)
   rows=dom.by_tag('tr')
   table=[]
   for row in rows:
       table_row=[]
       data=row.by_tag('td')
       for value in data:
           table_row.append(web.plaintext(value.content))
      table.append(table_row)
  1. .正则表达式re模块
   http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 
  1. df2 = new_df.iloc[keep]

  2. 密度图也被称作KDE图,调用plt时加上kind=’kde’即可生成一张密度图。

    diamonds['price'].plot(kind='kde', color = 'black')kind='kde'
  1. diamonds.boxplot(‘price’, by = ‘color’)
    by是x轴,price是Y轴

  2. 产生随机数的各种情况

  1. np.random.randint(a, b, N)
  2. np.random.rand(n, m)
  3. np.random.randn(n, m)
  1. array的一些操作
1.z.reshape((8,2))
2..z.flatten()/To flatten an array (convert a higher dimensional array into a vector), use flatten()
  1. 在线下载zip并处理的全套python2代码
 zip_folder = requests.get('http://seanlahman.com/files/database/lahman-csv_2014-02-14.zip').content
       zip_files = StringIO()
       zip_files.write(zip_folder)
       csv_files = ZipFile(zip_files)
       teams=csv_files.open('Teams.csv')
       teams=read_csv(teams)
  1. DataFrame数据的基本构造
    data=pd.DataFrame({'level':['a','b','c','b','a'],
               'num':[3,5,6,8,9]})
    grouped = df.groupby("playerID", as_index=False)
    #print grouped.head()
    rookie_idx = grouped["yearID"].aggregate({'min_index':f})['min_index'].values
    #获得每组的第一个出现的数据组
    rookie = df.loc[rookie_idx][["playerID", "AB", "H"]]
  1. jupyter markdown效果
    https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

  2. tab = tab.dropna()
    去除表中存在数值为空的行,这个功能比较实用

    1. 对在线csv文件进行获取
url_exprs = "https://raw.githubusercontent.com/cs109/2014_data/master/exprs_GSE5859.csv"
exprs = pd.read_csv(url_exprs, index_col=0)
  1. sklearn中包含很多机器学习的模型,下面给出一些例子
from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.cross_validation import cross_val_score, KFold
from sklearn.linear_model import LinearRegression


selector = SelectKBest(f_regression, k=2).fit(x, y)
best_features = np.where(selector.get_support())[0]
print(best_features)

xt = x[:, best_features]
clf = LinearRegression().fit(xt, y)

          错误的CrossValidation:
for train, test in KFold(len(y), 10):
    xtrain, xtest, ytrain, ytest = xt[train], xt[test], y[train], y[test]
    clf.fit(xtrain, ytrain)
    yp = clf.predict(xtest)

    plt.plot(yp, ytest, 'o')
    plt.plot(ytest, ytest, 'r-')


plt.xlabel("Predicted")
plt.ylabel("Observed")
正确的CrossValidation:
for train, test in KFold(len(y), n_folds=5):
    xtrain, xtest, ytrain, ytest = x[train], x[test], y[train], y[test]

    b = SelectKBest(f_regression, k=2)
    b.fit(xtrain, ytrain)
    xtrain = xtrain[:, b.get_support()]
    xtest = xtest[:, b.get_support()]

    clf.fit(xtrain, ytrain)    
    scores.append(clf.score(xtest, ytest))

    yp = clf.predict(xtest)
    plt.plot(yp, ytest, 'o')
    plt.plot(ytest, ytest, 'r-')

plt.xlabel("Predicted")
plt.ylabel("Observed")

print("CV Score is ", np.mean(scores))
  1. scipy下面一些非常有用的模块
 scipy.stats
 scipy.integrate
 scipy.signal
 scipy.optimize
 scipy.special
 scipy.linalg   
  1. mtcars.ix[‘Maserati Bora’]
    获取数据的一行

  2. any和all的使用区别结果的区别

(mtcars.mpg >= 20).any() True
(mtcars > 0).all() true false true true ...
  1. 画多个关系对比
rom pandas.tools.plotting import scatter_matrix
scatter_matrix(mtcars[['mpg', 'hp', 'cyl']],  figsize = (10, 6), alpha = 1, diagonal='kde')
  1. bs4常用的一些属性
soup.head.contents
soup.head.children
oup.head.title
soup.head.title.string
for child in soup.head.descendants:
     .stripped_strings
    soup.find_all('a')
    soup.find_all('a')[1].get('href')
  1. json格式使用
a = {'a': 1, 'b':2} a # a dictionary
s = json.dumps(a) s # s is a string containing a in JSON encoding
a2 = json.loads(s) a2 # reading back the keys are now in unicode
  1. Create a pandas DataFrame from JSON
  data = pd.DataFrame(wc, columns = ['match_number', 'location', 'datetime', 'home_team', 'away_team', 'winner', 'home_team_events', 'away_team_events'])  
  1. pd的时间的格式化,但是不知道什么样的时间可以格式化
data['gameDate']=pd.DatetimeIndex(data.datetime).date
data['gameTime']=pd.DatetimeIndex(data.datetime).time
  1. 几种分布函数
data = stats.binom.rvs(n = 10, p = 0.3, size = 10000)#贝努力随机
 y = stats.poisson.pmf(n, lam) 泊松分布
 y = stats.norm.pdf(x, 0, 1) 正态分布
 y=stats.beta.pdf(x, a, b) b分布
 lam = 0.5 x = np.arange(0, 15, 0.1),y = lam * np.exp(-lam * xstats.expon.rvs(scale = 2, size = 1000) e分布
  1. sklearn自带的数据库
from sklearn.datasets import load_boston
              boston = load_boston()
  1. statsmodels模块
statsmodels is python module specifically for estimating statistical models (less machine learning compared to sklearn). It can estimate many types of statistical models, but today we will focus on linear regression.
eg:import statsmodels.api as sm
import statsmodels.api as sm
model = sm.OLS(y, X)
results = model.fit()
print results.summary()
results.params.values
X = sm.add_constant(X)
  1. 画图参数设置较全的一个
residData.plot(title = 'Residuals from least squares estimates across years', figsize = (15, 8), color=map(lambda x: 'blue' if x=='OAK' else 'gray',df.teamID))
  1. 矩阵转置求线性回归的例子
 np.linalg.inv(np.dot(X.T, X)).dot(X.T).dot(y)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
属于网络下载资源,感谢原作者的贡献。 ##目录介绍 - **DeepLearning Tutorials** 这个文件夹下包含一些深度学习算法的实现代码,以及具体的应用实例,包含: Keras使用进阶。介绍了怎么保存训练好的CNN模型,怎么将CNN用作特征提取,怎么可视化卷积图。 [keras_usage]介绍了一个简单易用的深度学习框架keras,用经典的Mnist分类问题对该框架的使用进行说明,训练一个CNN,总共不超过30行代码。 将卷积神经网络CNN应用于人脸识别的一个demo,人脸数据库采用olivettifaces,CNN模型参考LeNet5,基于python+theano+numpy+PIL实现。 CNN卷积神经网络算法的实现,模型为简化版的LeNet,应用于MNIST数据集(手写数字),来自于DeepLearning.net上的一个教程,基于python+theano 多层感知机算法的实现,代码实现了最简单的三层感知机,并应用于MNIST数据集。 [Softmax_sgd(or logistic_sgd)]Softmax回归算法的实现,应用于MNIST数据集,基于Python+theano。 - **PCA** 基于python+numpy实现了主成份分析PCA算法 - **kNN** 基于python+numpy实现了K近邻算法,并将其应用在MNIST数据集上, - **logistic regression** - 基于C++以及线性代数库Eigen实现的logistic回归,[代码] - 基于python+numpy实现了logistic回归(二类别) - **ManifoldLearning** 运用多种流形学习方法将高维数据降维,并用matplotlib将数据可视化(2维和3维) - **SVM** - **GMM** GMM和k-means作为EM算法的应用,在某种程度有些相似之处,不过GMM明显学习出一些概率密度函数来,结合相关理解写成python版本 - **DecisionTree** Python、Numpy、Matplotlib实现的ID3、C4.5,其中C4.5有待完善,后续加入CART。 - **KMeans** 介绍了聚类分析中最常用的KMeans算法(及二分KMeans算法),基于NumPy的算法实现,以及基于Matplotlib的聚类过程可视化。 朴素贝叶斯算法的理论推导,以及三种常见模型(多项式模型,高斯模型,伯努利模型)的介绍与编程实现(基于Python,Numpy)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值