未提供项目说明

ImpactLearning的Python项目详细描述


影响学习

冲击学习是一种新的机器学习算法

冲击学习是一种有监督的竞争性学习算法,用于从实例中归纳分类、线性或多项式回归知识。这种方法的主要原理是从竞争中学习独立特征的影响,更具体地说,它是通过内在自然增长率(RNI)的反作用力或特征的影响来拟合曲线,因为每个真实的数据集都遵循RNI的能力。冲击学习的输入是一组训练数据。 更突出的是,我们生活中的每一个特征都遵循着RNI的趋势,另一方面,也有更多的反作用力需要依赖。因此,目标受到反作用力的其他特征的影响,这些特征可以用特定的力命名为“对目标的反冲击(BIT)”。因为目标特性依赖于位,所以每一位都依赖于目标特性。 基本上,机器学习或统计学习的资料来源于目标区域的实际部门,因此,它们符合RNI的趋势。因此,从RNI流中生成算法(冲击学习)将是一个过程。此外,该方法借鉴了BITs的影响,在现实生活中,每个业务部门都有很好的竞争对手,可以利用影响学习来描述竞争对手之间的竞争。此外,训练后的冲击学习也可以用来检查多重共线性或冗余性以进行特征选择。在

-正在开发该算法的框架。很快,它将成为开放源代码,如果你有迷人的使用你的工作只是email me

安装:

pip install ImpactLearning

回归函数的使用:

1。eh3验证数据> ^{pr2}$

输出:

Epoch: 100, train_loss: 741.998779, test_loss: 659.725098 
Epoch: 200, train_loss: 67.431602, test_loss: 54.413006 
---------------------------------------------------
Epoch: 2000, train_loss: 66.067902, test_loss: 52.447800 
Training Completed

1.1得分

il.get_scores()

输出

{'max_test_loss': 4119.4272,
 'max_train_loss': 4534.379,
 'min_test_loss': 50.623547,
 'min_train_loss': 66.0679}

2。未经验证

fromImpactLearningimportRegressorimportnumpyasnpimportpandasaspddataTrain=pd.read_csv('brainhead_train.csv')dataTest=pd.read_csv('brainhead_test.csv')x_train=dataTrain.iloc[:,:-1].valuesy_train=dataTrain.iloc[:,3].valuesx_test=dataTest.iloc[:,:-1].valuesy_test=dataTest.iloc[:,3].valuesil=Regressor()il.fit(x_train,y_train,loss_function="MAE",optimizer="GD",)il.train(epochs=2000,lr=0.5,progress_per=100)

输出:

Epoch: 100, loss: 741.998779 
Epoch: 200, loss: 67.431602 
----------------------
Epoch: 2000, loss: 66.067902 

2.1得分

il.get_scores()

输出

Loss: 66.067902

3。预测

il.predict(x_test[:5])

输出

array([[1303.717 ],
       [1108.7083],
       [1177.2151],
       [1048.9008],
       [1297.9176]], dtype=float32)

4。系数

il.get_coefficients()

输出

{'Bias': array([-38.508266], dtype=float32),
 'Carrying Capacity': 1635.1,
 'RNI': array([-1.0669531], dtype=float32),
 'WeightX': array([[  -0.34179878],
        [   0.5568241 ],
        [-288.52682   ]], dtype=float32),
 'Weighty': array([796.0016], dtype=float32)}

5。损失值

il.getLossValues()

输出

[4534.379,
 4418.933,
 4309.73,
 4206.1646,
 4107.7134,
----------]

分类器的使用:

1。使用测试数据验证

fromImpactLearningimportClassifierfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitiris=load_iris()X=iris.datay=iris.targetx_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.20)il=Classifier()il.fit(x_train,y_train,x_test,y_test,CCapacity=1,num_classes=3,optimizer="GD",loss_function="CategoricalCrossentropy")il.train(epochs=1000,lr=0.001,progress_per=100)

输出:

Epoch: 100, train_loss: 0.484322, test_loss: 0.479262, train_accuracy: 0.683333 test_accuracy: 0.666667
Epoch: 200, train_loss: 0.376250, test_loss: 0.355702, train_accuracy: 0.775000 test_accuracy: 0.800000
----------------------------------------------------
Epoch: 1000, train_loss: 0.055509, test_loss: 0.148505, train_accuracy: 0.975000 test_accuracy: 0.966667
Training Completed

1.1得分

il.get_scores()

输出

{'max_test_accuracy': 0.96666664,
 'max_test_loss': 2.5907264,
 'max_train_accuracy': 0.98333335,
 'max_train_loss': 2.04851,
 'min_test_accuracy': 0.16666667,
 'min_test_loss': 0.11300503,
 'min_train_accuracy': 0.34166667,
 'min_train_loss': 0.0509217}

2。未经验证

fromImpactLearningimportClassifierfromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitiris=load_iris()X=iris.datay=iris.targetx_train,x_test,y_train,y_test=train_test_split(X,y,test_size=0.20)il=Classifier()il.fit(x_train,y_train,CCapacity=1,num_classes=3,optimizer="GD",loss_function="CategoricalCrossentropy")il.train(epochs=1000,lr=0.001,progress_per=100)

输出:

^{pr21}$

2.1得分

il.get_scores()

输出

Accuracy: 0.966667

3。预测

il.predict(x_test[:10])

输出

array([1, 2, 0, 1, 2, 0, 2, 1, 0, 1])

4。系数

il.get_coefficients()

输出

{'Bias': array([ 0.00366024,  0.00528361, -0.00894384], dtype=float32),
 'Carrying Capacity': 1.1,
 'RNI': 1.0128337,
 'WeightX': array([[0.90882355, 0.91059417, 1.1805835 ],
        [0.80056006, 0.9750843 , 1.2243568 ],
        [1.2586796 , 1.0555391 , 0.68578094],
        [1.1205307 , 1.1224369 , 0.7570329 ]], dtype=float32),
 'Weighty': 0.98588395}

5。损失值

il.getLossValues()

输出

[1.0501021,
 1.0416512,
----------
 0.08514832,
 0.082014434,
 0.07910187]

损失函数

FOR Regressor
      1.logcosh 
    2.huber 
    3.MSE 
    4.MAE 
    5.MAPE 
    6.Poisson 
    7.sqr_hinge

FOR Classifier
    1.BinaryCrossentropy
    2.CategoricalCrossentropy
    3.CosineSimilarity
    4.Hinge
    5.CategoricalHinge
    6.Logosh
    7.Poisson
    8.SquaredHinge
    9.KLD

具有支持参数的优化器

使用fit()方法中的参数

^{pr31}$

有关争论的更多信息,请访问https://www.tensorflow.orgapi_docs/python/tf/keras/optimizers在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何用java表示这个数学函数的算法   Java/Stream帮助:仅使用streams将嵌套的映射列表转换为映射   使用Selenium连接到数据库时发生java未知主机异常   java如何了解jvm内存使用:“堆内存”和“堆外内存”   java Oracle BI报告导入模板   java如何使用Spring将xml转换为bean?   java线程。join()以保证执行顺序   java从THINGSPEAK到ANDROID应用程序获取JSON数据   使用Java的stanford库中的异常   java正确使用来自其他类文件的方法   如果集合中的元素类型为接口类型,如何填充集合?(爪哇)   记录java。util。记录器创建的文件超过了应有的数量   类Java对象uniq值   尝试调用无法应用于()的方法时出现java错误