zoukankan      html  css  js  c++  java
  • 暑假第三周

    这周还是继续学习了机器学习的第5 7 8章,主要是弄清了正规方程算法,logisitic回归,算法的优化,和过拟合的处理。

    这是学习过程中的笔记。

                         

    在学习过程找中遇到的主要问题是正规方程算法和logisitic算法的学习时的理解。

    另外还敲了一些代码,具体如下:

    一:首先是java基本语法的学习,自己练手时敲了一点代码:

    package first;

    import java.util.*;

    import java.io.*;

    public class first{

    public static void main(String[] args)throws IOException{

    Scanner cin=new Scanner(System.in);

    int a;

    int b=1;

    for(a=0;b==1;a++){

    System.out.println("请输入一个整数:");

    int c;

    c= cin.nextInt();

    if(c<0)

    System.out.println("该数字小于零!");

    else if(c%2==0)

    System.out.println("该数字为偶数!");

    else 

    System.out.println("该数字为奇数!");

    System.out.println("是否继续判断?是请输入1,否请输入0");

    for(int i=0;i>=0;i++){

    b=cin.nextInt();

    if(b!=1&&b!=0)

    System.out.println("输入错误!");

    else

    i=-2;

    }

    }

    }

    }

    ps:代码主要是用来判断输入数据的奇偶性,可以根据使用者的需要来判断是否进行,还可以判断输入的数据是否为负值

    二:素数对的查找

    #include<iostream>

    #include<string>

    using namespace std;

    int main()

    {

        int a, b, c;

        int d[20] = {0};

        int Sum = 0, num = 0;

        cin >> a;

        for (c = 1;c < a;) {//从1开始循环到a-1

            if (a >= 20)

            {

                for (int i = 0;i < 20;i++, c++) {//以20个数为一组进行循环

                    for (b = 2;b < c;b++) {//寻找素数

                        if (c%b == 0)

                            break;

                    }

                    if (b == c) {//将素数存入数组中

                        d[num] = c;

                        num++;

                    }

                }

                num = 0;//清零数组的下标

                for (int i = 0;i < 20;i++)//寻找素数对

                    if (d[i] + 2 == d[i + 1] && d[i] != 0 && d[i + 1] != 0)

                        Sum++;//统计素数对个数

                for (int i = 0;i < 20;i++)//清空存储素数的数组

                    d[i] = 0;

            }

            else//小于20的数字

                for (int i = 0;i < a;i++, c++) {

                    for (b = 2;b < c;b++) {//寻找素数

                        if (c%b == 0)

                            break;

                    }

                    if (b == c) {//将素数存入数组中

                        d[num] = c;

                        num++;

                    }

                }

            num = 0;//清零数组的下标

            for (int i = 0;i < 20;i++)//寻找素数对

                if (d[i] + 2 == d[i + 1] && d[i] != 0 && d[i + 1] != 0)

                    Sum++;//统计素数对个数

            for (int i = 0;i < 20;i++)//清空存储素数的数组

                d[i] = 0;

        }

        cout << Sum;

    }

    ps:统计素数对个数时,为避免占用的空间过大,采用的是20个数20个数的进行查找,但是缺点是运行速度较慢,还没找到方法改进

    三:输入一段话,逆序输出:

    #include"pch.h"

    #include<iostream>

    #include<string>

    using namespace std;

    int main()

    {

    char a[10][10] ;

    int  i = 0, j = 0;

    char c;

    for (;c=getchar() != ' ';j++)

    {

    if (c ==' ')

    {

    a[i][j] = c;

    i++;

    j = 0;

    }

    }

    j = 0;

    for (;i >= 0;j++)

    {

    cout << a[i][j];

    if (a[i][j] == ' ')

    {

    i--;

    j = 0;

    }

    }

    return 0;

    }

    ps:编译过程中首先采用的是定义多个数组的方法,之后为了优化采用了二维数组的方法

    四:数据移动

    #include<iostream>

    #include<string>

    using namespace std;

    int main()

    {

        int n[100];

        int m, a;

        cin >> a >> m;

        for (int i = 0;i < a;i++)

        {

            cin >> n[i];

        }

        for (int i = (a - m);i < a;i++)

            cout << n[i] << " ";

        for (int i = 0;i < (a - m);i++)

        {

            if (i == a - m - 1)

                cout << n[i];

            else

                cout << n[i] << " ";

        }

        return 0;

    }

    五:多项式求导:

    #include"pch.h"

    #include<iostream>

    #include<string>

    using namespace std;

    int main()

    {

    int a, n;

    int f = 0;

    char b;

    for (int i = 0;i >= 0;i++)

    {

    cin >> a >> n;

    if (n != 0)

    {

    if (f == 1)

    cout << " ";

    cout << a * n <<" "<< n - 1;

    f = 1;

    }

    b = getchar();

    if (b == '/n')

    i = -2;

    }

    if (f == 0)

    cout << "0 0";

    }

    六:判断输入前两个数是否比第三个大:

    #include<iostream>

    using namespace std;

    int main()

    {

        int num;

        long a[30];

        int j = 0;

        int y = 1;

        cin >> num;

        for (int i = 0;i < num;i++)

        {

            for (int k = 0;k < 3;k++)

                cin >> a[j++];

        }

        for (int p = 0;num != 0;p += 3)

        {

            num--;

            if (a[p] + a[p + 1] > a[p + 2])

                cout << "Case #" << y << ": true" << endl;

            else

                cout << "Case #" << y << ": false" << endl;

            y++;

        }

        return 0;

    }

    七:数据分类

    #include<iostream>

    #include<cmath>

    #include <iomanip>

    using namespace std;

    int main()

    {

        int n,a[5]={0};

        int t=0;

        float num=0;

        cin>>n;

        int p;

        for(int i=0;i<n;i++)

        {

            cin>>p;

            switch(p%5){

                case 0:{

                    if(p%2==0)

                    {

                        a[0]+=p;

                    }

                    break;

                }

                case 1:{

                    a[1]+=pow(-1,t)*p;

                    t++;

                    break;

                }

                case 2:{

                    a[2]++;

                    break;

                }

                case 3:{

                    a[3]+=p;

                    num++;

                    break;

                }

                case 4:{

                    if(p>a[4])

                        a[4]=p;

                    break;

                }

            }

        }

        for(int j=0;j<5;j++)

        {

            if(a[j]!=0){

                if(j==3){

                 cout<<fixed<<setprecision(1)<<a[3]/num<<" ";

                 continue;

            }

            cout<<a[j];

         }

         else{

             cout<<"N";

            }

            if(j<4)

             cout<<" ";

    }

        return 0;

    }

    以上就是这周的进度了,下周开始数据集的对接练习,代码的练习当然还是继续,知识学习方面继续学习神经网络。

  • 相关阅读:
    glib文档
    2020第42周面向失败设计
    2020第41周中年危机焦虑
    2020第40周选合适的工具
    2020第39周微行动思维
    2020第38周
    2020第37周
    2020第36周
    2020第35周不要让孩子输在起跑线
    2020第34周滥竽充数
  • 原文地址:https://www.cnblogs.com/studya/p/11260445.html
Copyright © 2011-2022 走看看