相关文章推荐
愤怒的西瓜  ·  OpenProcessToken 函数 ...·  10 月前    · 
求醉的杯子  ·  Python ...·  1 年前    · 

Cursor

Cursor is an editor made for programming with AI. It’s early days, but right now Cursor can help you with a few things…

  • Write: Generate 10-100 lines of code with an AI that’s smarter than Copilot
  • Diff: Ask the AI to edit a block of code, see only proposed changes
  • Chat: ChatGPT-style interface that understands your current file
  • And more: ask to fix lint errors, generate tests/comments on hover, etc

下载地址:

https://www.cursor.so/
在这里插入图片描述

使用技巧:

https://twitter.com/amanrsanger

CHAT:

example 1:

对于上面最后一张图的中的代码,如果直接在IDE里面运行是不会报错的,但是有一句代码

vif["VIF"] = [variance_inflation_factor(df.values, i) for i in range(df.shape[1]-1)]

是不符合多重共线性分析或者VIF的数学原理的。因为VIF是对自变量间线性关系的分析,如果直接调用OLS;如果把OLS里面的目标函数换成非线性方程,就是表达的非线性关系。而上面的代码是把df.values都传入了variance_inflation_factor函数,包括了自变量和因变量,因此是不符合多重共线性分析原理的。
所以应改成:

import pandas as pd
data = {'x1': [1, 2, 3, 4, 5],
        'x2': [2, 4, 6, 8, 10],
        'x3': [3, 6, 9, 12, 15],
        'y': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)
from statsmodels.stats.outliers_influence import variance_inflation_factor
# Get the VIF for each feature
vif = pd.DataFrame()
vif["feature"] = df.columns[:-1]
# vif["VIF"] = [variance_inflation_factor(df.values, i) for i in range(df.shape[1]-1)]
vif["VIF"] = [variance_inflation_factor(df.values[:, :-1], i) for i in range(df.shape[1]-1)]
# Print the results
print(vif)

原理解释:

def variance_inflation_factor(exog, exog_idx):
    Variance inflation factor, VIF, for one exogenous variable
    The variance inflation factor is a measure for the increase of the
    variance of the parameter estimates if an additional variable, given by
    exog_idx is added to the linear regression. It is a measure for
    multicollinearity of the design matrix, exog.
    One recommendation is that if VIF is greater than 5, then the explanatory
    variable given by exog_idx is highly collinear with the other explanatory
    variables, and the parameter estimates will have large standard errors
    because of this.
    Parameters
    ----------
    exog : {ndarray, DataFrame}
        design matrix with all explanatory variables, as for example used in
        regression
    exog_idx : int
        index of the exogenous variable in the columns of exog
    Returns
    -------
    float
        variance inflation factor
    Notes
    -----
    This function does not save the auxiliary regression.
    See Also
    --------
    xxx : class for regression diagnostics  TODO: does not exist yet
    References
    ----------
    https://en.wikipedia.org/wiki/Variance_inflation_factor
    k_vars = exog.shape[1]
    exog = np.asarray(exog)
    x_i = exog[:, exog_idx]
    mask = np.arange(k_vars) != exog_idx
    x_noti = exog[:, mask]
    r_squared_i = OLS(x_i, x_noti).fit().rsquared
    vif = 1. / (1. - r_squared_i)
    return vif

example 2:

在这里插入图片描述
GPT-4太大写不了,给出的是调GPT-2的示例代码。

Github Copilot

https://github.com/features/copilot

  • GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor.
  • Trained on billions of lines of code, GitHub Copilot turns natural language prompts into coding suggestions across dozens of languages.
  • Don’t fly solo
    Developers all over the world use GitHub Copilot to code faster, focus on business logic over boilerplate, and do what matters most: building great software.
  • Focus on solving bigger problems
    Spend less time creating boilerplate and repetitive code patterns, and more time on what matters: building great software. Write a comment describing the logic you want and GitHub Copilot will immediately suggest code to implement the solution.
  • Get AI-based suggestions, just for you
    GitHub Copilot shares recommendations based on the project’s context and style conventions. Quickly cycle through lines of code, complete function suggestions, and decide which to accept, reject, or edit.
  • Code confidently in unfamiliar territory
    Whether you’re working in a new language or framework, or just learning to code, GitHub Copilot can help you find your way. Tackle a bug, or learn how to use a new framework without spending most of your time spelunking through the docs or searching the web.

在这里插入图片描述
目前有个人版、商业版和教育版三种,教育版里面学生账户比教师账户的免费功能更多,只需要一个学校邮箱和一卡通就可以认证学生账户或者教师账户,还是很方便。

以插件方式安装

pycharm

自动写代码

以下代码除了第一行注释都是copilot自动补全的

example 1:写一个mysql取数据的类

# 写一个mysql取数据的类
import pymysql
class Mysql:
    def __init__(self,host,user,password,database,port=3306):
        self.host = host
        self.user = user
        self.password = password
        self.database = database
        self.port = port
        self.conn = pymysql.connect(host=self.host,user=self.user,password=self.password,database=self.database,port=self.port)
        self.cursor = self.conn.cursor()
    def fetchone(self,sql):
        self.cursor.execute(sql)
        return self.cursor.fetchone()
    def fetchall(self,sql):
        self.cursor.execute(sql)
        return self.cursor.fetchall()
    def close(self):
        self.cursor.close()
        self.conn.close()
    def commit(self):
        self.conn.commit()
    def rollback(self):
        self.conn.rollback()
    def execute(self,sql):
        self.cursor.execute(sql)
        self.commit()
    def executemany(self,sql,values):
        self.cursor.executemany(sql,values)
        self.commit()

example 2:写一个多重共线性检测的类

from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
class Multicollinearity:
    def __init__(self,df):
        self.df = df
    def get_vif(self):
        vif = pd.DataFrame()
        vif["VIF Factor"] = [self.get_vif_score(i) for i in range(self.df.shape[1])]
        vif["features"] = self.df.columns
        return vif
    def get_vif_score(self,i):
        y = self.df.iloc[:,i]
        x = self.df.drop(self.df.columns[i],axis=1)
        lr = LinearRegression()
        lr.fit(x,y)
        r2 = r2_score(y,lr.predict(x))
        return 1/(1-r2)

用工具自动写代码的时候,最好要用实际例子或实际数据检查一下,就算没有报错,对于数值计算最好也要debug跑一遍看它生成的代码是否符合你的描述或者数学原理。具体原因见上文的注意

目前有个人版、商业版和教育版三种,教育版里面学生账户比教师账户的免费功能更多,只需要一个学校邮箱和一卡通就可以认证学生账户或者教师账户,还是很方便。用工具自动写代码的时候,最好要用实际例子或实际数据检查一下,就算没有报错,对于数值计算最好也要debug跑一遍看它生成的代码是否符合你的描述或者数学原理。具体原因见上文的注意。 这是 OpenTechSchool 上使用 GitHub 进行社交编码课程的贡献者的友好操作方法。 首先,快速复习一下课程: 您已经编写了一些代码,但您可能想知道:我该往哪里去? 使用 Git 和 GitHub 进入社交编码世界。 在本课程中,我们将向您介绍 GitHub,这是一项免费的在线服务,来自世界各地的超过 200 万开发人员在这里共享他们的代码。 我们将向您展示如何共享您的代码、结识志同道合的程序员以及参与其他项目。 您甚至可以使用 GitHub 托管简单的网站。 无论您只是想分享一个小脚本,还是想为世界上一些最大和最具活力的软件项目做出贡献,都可以向您展示如何开始! 因此,我们期待以前编写过一些代码但从未共享过的用户。 他们可能具有一些 JS、Python 或 Ruby 技能,并且可能会编写一些 HTML 和 CSS。 当他们出现时,我们不会
Change ++ 2020编码挑战 在你开始之前 恭喜!! 您已被选择参加Change ++面试过程的下一步。 我们申请过程的下一步是完成以下编码项目。 由于我们无法为每个申请人提供面试,因此我们将利用这一挑战来评估许多标准,包括技术技能和对Change ++的承诺。 我们预计这需要2-6个小时,具体取决于经验水平和技术技能。 我们认识到大家都很忙,但是作为Change ++团队的一员,预计您每周将花费4-6个小时来从事项目工作; 因此,我们认为这是一个合理的时间表。 我们在寻找什么 在Change ++,我们的项目团队由范德比尔特大学第一年的成员到研究生课程的成员组成。 我们知道你们都有不同程度的技术技能和经验,我们将在审查您的代码时考虑所有这些因素。 在Change ++团队中,您可能经常使用不熟悉的新技术,并且在范德比尔特的CS课程中没有学过,但是我们希望看到您展示了学习新技能和完
JPEG2000图像编码系统是一种利用离散小波变换(DWT)和算术编码来压缩和存储数字图像的编码系统。它是对传统JPEG编码系统的一种升级和改进,因其具有更高的压缩比和更好的图像质量而受到广泛欢迎。 JPEG2000系统通过使用小波变换将图像分解成多个不同频率的子带,然后通过对每个子带进行独立的压缩和编码来减小数据量。此外,JPEG2000系统在压缩过程中利用了空间局部性和视觉掩模的概念,从而进一步提高了图像质量和压缩比。 与传统的JPEG系统不同,JPEG2000系统采用基于算术编码的压缩方法,而不是基于离散余弦变换(DCT)的压缩方法。这种方法允许更高的压缩效率和更好的图像质量,但需要更高的计算复杂度和更长的编码时间。 总的来说,JPEG2000图像编码系统是一种性能卓越、功能强大的图像压缩和编码技术,已广泛应用于数字图像处理、远程传输、数字媒体和卫星通信等领域。
在pycharm中每次运行脚本,设置ctrl+shift+F10使用console运行还是使用run运行(注意:alt+shift+e永远是用console运行,不会用run运行) 17816