pythonsolver
❶ 如何用python實現pca降維
首先2個包:
importnumpyasnp
fromsklearn.decompositionimportPCA
然後一個m x n 的矩陣,n為維度,這里設為x。
n_components = 12 是自己可以設的。
pca=PCA(n_components=12)
pca.fit(x)
PCA(=True,iterated_power='auto',n_components=12,random_state=None,
svd_solver='auto',tol=0.0,whiten=False)
float_formatter=lambdax:"%.2f"%x
np.set_printoptions(formatter={'float_kind':float_formatter})
print'explainedvarianceratio:'
printpca.explained_variance_ratio_
print'cumulativesum:'
printpca.explained_variance_ratio_.cumsum()
❷ 求Python三體建模代碼
三體模型
1. 代碼
現在為了把之前的代碼延伸到三體系統,需要給常數增加一些東西——增加第三體的質量、位置和速率向量。把第三恆星的質量視作和太陽的質量等同。
#Mass of the Third Starm3=1.0 #Third Star#Position of the Third Starr3=[0,1,0] #mr3=sci.array(r3,dtype='float64')#Velocity of the Third Starv3=[0,-0.01,0]v3=sci.array(v3,dtype='float64')
需要更新代碼中質心和質心速率的公式。#Update COM formular_com=(m1*r1+m2*r2+m3*r3)/(m1+m2+m3)#Update velocity of COM formulav_com=(m1*v1+m2*v2+m3*v3)/(m1+m2+m3)
對一個三體系統來說,需要修改運動方程使之包括另一物體施加的額外引力。因此,需要在RHS上,對問題中每一對物體施加力的其他物體增加一個力項。在三體系統的情況下,一個物體會受到其餘兩個物體施加的力的影響並因此在RHS上出現兩個力項。數學上可表示為:
為在代碼中反映這些變化,需要為odeint求解器創建一個新函數。
def ThreeBodyEquations(w,t,G,m1,m2,m3): r1=w[:3] r2=w[3:6] r3=w[6:9] v1=w[9:12] v2=w[12:15] v3=w[15:18] r12=sci.linalg.norm(r2-r1) r13=sci.linalg.norm(r3-r1) r23=sci.linalg.norm(r3-r2) dv1bydt=K1*m2*(r2-r1)/r12**3+K1*m3*(r3-r1)/r13**3 dv2bydt=K1*m1*(r1-r2)/r12**3+K1*m3*(r3-r2)/r23**3 dv3bydt=K1*m1*(r1-r3)/r13**3+K1*m2*(r2-r3)/r23**3 dr1bydt=K2*v1 dr2bydt=K2*v2 dr3bydt=K2*v3 r12_derivs=sci.concatenate((dr1bydt,dr2bydt)) r_derivs=sci.concatenate((r12_derivs,dr3bydt)) v12_derivs=sci.concatenate((dv1bydt,dv2bydt)) v_derivs=sci.concatenate((v12_derivs,dv3bydt)) derivs=sci.concatenate((r_derivs,v_derivs)) return derivs
最後,調用odeint函數並向其提供上述函數連同初始條件。#Package initial parametersinit_params=sci.array([r1,r2,r3,v1,v2,v3]) #Initial parametersinit_params=init_params.flatten() #Flatten to make 1D arraytime_span=sci.linspace(0,20,500) #20 orbital periods and 500 points#Run the ODE solverimport scipy.integratethree_body_sol=sci.integrate.odeint(ThreeBodyEquations,init_params,time_span,args=(G,m1,m2,m3))
❸ Python LDA降維中不能輸出指定維度(n_components)的新數據集
LDA降維後的維度區間在[1,C-1],C為特徵空間的維度,與原始特徵數n無關,對於二值分類,最多投影到1維,所以我估計你是因為這是個二分類問題,所以只能降到一維。
❹ python 微分代數方程 dae solver
用:import numpy as np
具體可以看這個例子參考:
http://stackoverflow.com/questions/23578596/solve-an-implicit-ode-differential-algebraic-equation-dae
❺ 跪求熟悉python,Excel,動態規劃的大神給小菜鳥提供一個思路
網路搜索,關鍵詞pythontsp
我就是用這演算法配合網路地圖幫人解決的這類問題。
❻ python做整數規劃有什麼演算法包嗎,要有分支定界的
lingo會自動選用求解器 整數規劃會用integer solver 主要會用到分支定界法和枚舉 你可以在lingo的option裡面自己稍微調整 但是具體的演算法不是你能改的 如果你要用自己的演算法去做 需要自己寫程序 lingo解決不了
❼ 大數據分析需要哪些工具
稍微整理了下常用到的大數據分析工具,看下能不能幫到你
1.專業的大數據分析工具
2.各種Python數據可視化第三方庫
3.其它語言的數據可視化框架
一、專業的大數據分析工具
1、FineReport
FineReport是一款純java編寫的、集數據展示(報表)和數據錄入(表單)功能於一身的企業級web報表工具,只需要簡單的拖拽操作便可以設計復雜的中國式報表,搭建數據決策分析系統。
2、FineBI
FineBI是新一代自助大數據分析的商業智能產品,提供了從數據准備、自助數據處理、數據分析與挖掘、數據可視化於一體的完整解決方案,也是我比較推崇的可視化工具之一。
FineBI的使用感同Tableau類似,都主張可視化的探索性分析,有點像加強版的數據透視表。上手簡單,可視化庫豐富。可以充當數據報表的門戶,也可以充當各業務分析的平台。
二、Python的數據可視化第三方庫
Python正慢慢地成為數據分析、數據挖掘領域的主流語言之一。在Python的生態里,很多開發者們提供了非常豐富的、用於各種場景的數據可視化第三方庫。這些第三方庫可以讓我們結合Python語言繪制出漂亮的圖表。
1、pyecharts
Echarts(下面會提到)是一個開源免費的javascript數據可視化庫,它讓我們可以輕松地繪制專業的商業數據圖表。當Python遇上了Echarts,pyecharts便誕生了,它是由chenjiandongx等一群開發者維護的Echarts Python介面,讓我們可以通過Python語言繪制出各種Echarts圖表。
2、Bokeh
Bokeh是一款基於Python的互動式數據可視化工具,它提供了優雅簡潔的方法來繪制各種各樣的圖形,可以高性能地可視化大型數據集以及流數據,幫助我們製作互動式圖表、可視化儀錶板等。
三、其他數據可視化工具
1、Echarts
前面說過了,Echarts是一個開源免費的javascript數據可視化庫,它讓我們可以輕松地繪制專業的商業數據圖表。
大家都知道去年春節以及近期央視大規劃報道的網路大數據產品,如網路遷徙、網路司南、網路大數據預測等等,這些產品的數據可視化均是通過ECharts來實現的。
2、D3
D3(Data Driven Documents)是支持SVG渲染的另一種JavaScript庫。但是D3能夠提供大量線性圖和條形圖之外的復雜圖表樣式,例如Voronoi圖、樹形圖、圓形集群和單詞雲等。